net: eth_type_trans() should use skb_header_pointer()
authorEric Dumazet <edumazet@google.com>
Thu, 16 Jan 2014 23:03:31 +0000 (15:03 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Jan 2014 23:30:31 +0000 (15:30 -0800)
commit0864c158836c2d0edb61f7128475e192b09bc851
tree8880646ac3da6b1ab7ff5b870e63475fcb6c0aa7
parent7967919db687f1a61e3d8fbf9f5582f01c8d2cf5
net: eth_type_trans() should use skb_header_pointer()

eth_type_trans() can read uninitialized memory as drivers
do not necessarily pull more than 14 bytes in skb->head before
calling it.

As David suggested, we can use skb_header_pointer() to
fix this without breaking some drivers that might not expect
eth_type_trans() pulling 2 additional bytes.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ethernet/eth.c