Thread (16 messages) 16 messages, 2 authors, 2015-03-01

Re: [PATCH net-next v2 4/7] net: packet: use skb->dev as storage for skb orig len instead of skb->cb[]

From: David Miller <davem@davemloft.net>
Date: 2015-02-28 20:08:30
Also in: linux-bluetooth

From: Eyal Birger <redacted>
Date: Sat, 28 Feb 2015 21:39:34 +0200
On Sat, Feb 28, 2015 at 9:21 PM, David Miller [off-list ref] wrote:
quoted
From: Eyal Birger <redacted>
Date: Thu, 26 Feb 2015 21:07:01 +0200
quoted
As part of an effort to move skb->dropcount to skb->cb[], 4 bytes
of additional room are needed in skb->cb[] in packet sockets.

Store the skb original length in skb->dev instead of skb->cb[] for
this purpose.

Signed-off-by: Eyal Birger <redacted>
I'm a little confused, why is this even needed?

packet_skb_cb is 24 bytes by my calculations, which is much
smaller than the cb[] size which is 48 bytes.
Note the BUILD_BUG_ON in packet_rcv().

packet_skb_cb may contain an address as large as MAX_ADDR_LEN (32)
Therefore the required space is sizeof(packet_skb_cb) + MAX_ADDR_LEN - 8
which is 48 bytes before this change.
So let's take a step back.

What link layer we support has 32-byte hardware addresses?

If the answer is lower than 32, we should use that value instead.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help