mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
![]() gve_rx_append_frags() is able to build skbs chained with frag_list,
like GRO engine.
Problem is that shinfo->frag_list should only be used
for the head of the chain.
All other links should use skb->next pointer.
Otherwise, built skbs are not valid and can cause crashes.
Equivalent code in GRO (skb_gro_receive()) is:
if (NAPI_GRO_CB(p)->last == p)
skb_shinfo(p)->frag_list = skb;
else
NAPI_GRO_CB(p)->last->next = skb;
NAPI_GRO_CB(p)->last = skb;
Fixes:
|
||
---|---|---|
.. | ||
gve.h | ||
gve_adminq.c | ||
gve_adminq.h | ||
gve_desc.h | ||
gve_desc_dqo.h | ||
gve_dqo.h | ||
gve_ethtool.c | ||
gve_main.c | ||
gve_register.h | ||
gve_rx.c | ||
gve_rx_dqo.c | ||
gve_tx.c | ||
gve_tx_dqo.c | ||
gve_utils.c | ||
gve_utils.h | ||
Makefile |