bridge: Pull ip header into skb->data before looking into ip header.
If lower layer driver leaves the ip header in the skb fragment, it needs to be first pulled into skb->data before inspecting ip header length or ip version number. Signed-off-by: Sarveshwar Bandi <sarveshwar.bandi@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
435f08a721
commit
6caab7b054
1 changed files with 3 additions and 0 deletions
|
@ -265,6 +265,9 @@ static int br_parse_ip_options(struct sk_buff *skb)
|
||||||
struct net_device *dev = skb->dev;
|
struct net_device *dev = skb->dev;
|
||||||
u32 len;
|
u32 len;
|
||||||
|
|
||||||
|
if (!pskb_may_pull(skb, sizeof(struct iphdr)))
|
||||||
|
goto inhdr_error;
|
||||||
|
|
||||||
iph = ip_hdr(skb);
|
iph = ip_hdr(skb);
|
||||||
opt = &(IPCB(skb)->opt);
|
opt = &(IPCB(skb)->opt);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue