[ Sasha's backport helper bot ] Hi, The upstream commit SHA1 provided is correct: 08062af0a52107a243f7608fd972edb54ca5b7f8 WARNING: Author mismatch between patch and upstream commit: Backport author: <jianqi.ren.cn@xxxxxxxxxxxxx> Commit author: Joe Damato <jdamato@xxxxxxxxxx> Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.6.y | Not found 6.1.y | Not found Note: The patch differs from the upstream commit: --- 1: 08062af0a5210 ! 1: c5ba7dcacb876 net: napi: Prevent overflow of napi_defer_hard_irqs @@ Metadata ## Commit message ## net: napi: Prevent overflow of napi_defer_hard_irqs + [ Upstream commit 08062af0a52107a243f7608fd972edb54ca5b7f8 ] + In commit 6f8b12d661d0 ("net: napi: add hard irqs deferral feature") napi_defer_irqs was added to net_device and napi_defer_irqs_count was added to napi_struct, both as type int. @@ Commit message Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx> Link: https://patch.msgid.link/20240904153431.307932-1-jdamato@xxxxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> - - ## Documentation/networking/net_cachelines/net_device.rst ## -@@ Documentation/networking/net_cachelines/net_device.rst: unsigned_int num_rx_queues - unsigned_int real_num_rx_queues - read_mostly get_rps_cpu - struct_bpf_prog* xdp_prog - read_mostly netif_elide_gro() - unsigned_long gro_flush_timeout - read_mostly napi_complete_done --int napi_defer_hard_irqs - read_mostly napi_complete_done -+u32 napi_defer_hard_irqs - read_mostly napi_complete_done - unsigned_int gro_max_size - read_mostly skb_gro_receive - unsigned_int gro_ipv4_max_size - read_mostly skb_gro_receive - rx_handler_func_t* rx_handler read_mostly - __netif_receive_skb_core + Signed-off-by: Jianqi Ren <jianqi.ren.cn@xxxxxxxxxxxxx> ## include/linux/netdevice.h ## @@ include/linux/netdevice.h: struct napi_struct { @@ include/linux/netdevice.h: struct napi_struct { int (*poll)(struct napi_struct *, int); #ifdef CONFIG_NETPOLL @@ include/linux/netdevice.h: struct net_device { - unsigned int real_num_rx_queues; - struct netdev_rx_queue *_rx; + + struct bpf_prog __rcu *xdp_prog; unsigned long gro_flush_timeout; - int napi_defer_hard_irqs; + u32 napi_defer_hard_irqs; - unsigned int gro_max_size; - unsigned int gro_ipv4_max_size; - rx_handler_func_t __rcu *rx_handler; + #define GRO_LEGACY_MAX_SIZE 65536u + /* TCP minimal MSS is 8 (TCP_MIN_GSO_SIZE), + * and shinfo->gso_segs is a 16bit field. ## net/core/net-sysfs.c ## @@ --- Results of testing on various branches: | Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |