net: nla_align_64bit() needs to test the right pointer.
Netlink messages are appended, one object at a time, to the end of the SKB. Therefore we need to test skb_tail_pointer() not skb->data for alignment. Fixes: 35c5845957c7 ("net: Add helpers for 64-bit aligning netlink attributes.") Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cca1d81574
commit
e6f268ef36
@ -1250,7 +1250,7 @@ static inline int nla_align_64bit(struct sk_buff *skb, int padattr)
|
|||||||
* nlattr header for next attribute, will make nla_data()
|
* nlattr header for next attribute, will make nla_data()
|
||||||
* 8-byte aligned.
|
* 8-byte aligned.
|
||||||
*/
|
*/
|
||||||
if (IS_ALIGNED((unsigned long)skb->data, 8) &&
|
if (IS_ALIGNED((unsigned long)skb_tail_pointer(skb), 8) &&
|
||||||
!nla_reserve(skb, padattr, 0))
|
!nla_reserve(skb, padattr, 0))
|
||||||
return -EMSGSIZE;
|
return -EMSGSIZE;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user