diff options
author | Boris Sukholitko | 2020-05-19 10:32:37 +0300 |
---|---|---|
committer | David S. Miller | 2020-05-19 15:38:00 -0700 |
commit | c0bbbdc32febd4f034ecbf3ea17865785b2c0652 (patch) | |
tree | a72795d0d8594c6b85681104a4240b9e5fc9c1a0 /drivers | |
parent | 88d7fcfa3b1fe670f0412b95be785aafca63352b (diff) |
__netif_receive_skb_core: pass skb by reference
__netif_receive_skb_core may change the skb pointer passed into it (e.g.
in rx_handler). The original skb may be freed as a result of this
operation.
The callers of __netif_receive_skb_core may further process original skb
by using pt_prev pointer returned by __netif_receive_skb_core thus
leading to unpleasant effects.
The solution is to pass skb by reference into __netif_receive_skb_core.
v2: Added Fixes tag and comment regarding ppt_prev and skb invariant.
Fixes: 88eb1944e18c ("net: core: propagate SKB lists through packet_type lookup")
Signed-off-by: Boris Sukholitko <boris.sukholitko@broadcom.com>
Acked-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions