mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-18 13:45: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_adminq.c | ||
| gve_adminq.h | ||
| gve_desc_dqo.h | ||
| gve_desc.h | ||
| gve_dqo.h | ||
| gve_ethtool.c | ||
| gve_main.c | ||
| gve_register.h | ||
| gve_rx_dqo.c | ||
| gve_rx.c | ||
| gve_tx_dqo.c | ||
| gve_tx.c | ||
| gve_utils.c | ||
| gve_utils.h | ||
| gve.h | ||
| Makefile | ||