mirror-linux/drivers/net/ethernet/intel/idpf
Eric Dumazet 674fcb4f4a idpf: fix checksums set in idpf_rx_rsc()
idpf_rx_rsc() uses skb_transport_offset(skb) while the transport header
is not set yet.

This triggers the following warning for CONFIG_DEBUG_NET=y builds.

DEBUG_NET_WARN_ON_ONCE(!skb_transport_header_was_set(skb))

[   69.261620] WARNING: CPU: 7 PID: 0 at ./include/linux/skbuff.h:3020 idpf_vport_splitq_napi_poll (include/linux/skbuff.h:3020) idpf
[   69.261629] Modules linked in: vfat fat dummy bridge intel_uncore_frequency_tpmi intel_uncore_frequency_common intel_vsec_tpmi idpf intel_vsec cdc_ncm cdc_eem cdc_ether usbnet mii xhci_pci xhci_hcd ehci_pci ehci_hcd libeth
[   69.261644] CPU: 7 UID: 0 PID: 0 Comm: swapper/7 Tainted: G S      W          6.14.0-smp-DEV #1697
[   69.261648] Tainted: [S]=CPU_OUT_OF_SPEC, [W]=WARN
[   69.261650] RIP: 0010:idpf_vport_splitq_napi_poll (include/linux/skbuff.h:3020) idpf
[   69.261677] ? __warn (kernel/panic.c:242 kernel/panic.c:748)
[   69.261682] ? idpf_vport_splitq_napi_poll (include/linux/skbuff.h:3020) idpf
[   69.261687] ? report_bug (lib/bug.c:?)
[   69.261690] ? handle_bug (arch/x86/kernel/traps.c:285)
[   69.261694] ? exc_invalid_op (arch/x86/kernel/traps.c:309)
[   69.261697] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621)
[   69.261700] ? __pfx_idpf_vport_splitq_napi_poll (drivers/net/ethernet/intel/idpf/idpf_txrx.c:4011) idpf
[   69.261704] ? idpf_vport_splitq_napi_poll (include/linux/skbuff.h:3020) idpf
[   69.261708] ? idpf_vport_splitq_napi_poll (drivers/net/ethernet/intel/idpf/idpf_txrx.c:3072) idpf
[   69.261712] __napi_poll (net/core/dev.c:7194)
[   69.261716] net_rx_action (net/core/dev.c:7265)
[   69.261718] ? __qdisc_run (net/sched/sch_generic.c:293)
[   69.261721] ? sched_clock (arch/x86/include/asm/preempt.h:84 arch/x86/kernel/tsc.c:288)
[   69.261726] handle_softirqs (kernel/softirq.c:561)

Fixes: 3a8845af66 ("idpf: add RX splitq napi poll support")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Alan Brady <alan.brady@intel.com>
Cc: Joshua Hay <joshua.a.hay@intel.com>
Cc: Willem de Bruijn <willemb@google.com>
Acked-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Link: https://patch.msgid.link/20250226221253.1927782-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-02-27 07:31:41 -08:00
..
Kconfig idpf: use libeth Rx buffer management for payload buffer 2024-07-10 10:48:45 -07:00
Makefile idpf: compile singleq code only under default-n CONFIG_IDPF_SINGLEQ 2024-07-10 10:42:26 -07:00
idpf.h idpf: avoid vport access in idpf_get_link_ksettings 2024-11-04 13:09:33 -08:00
idpf_controlq.c idpf: add read memory barrier when checking descriptor done bit 2025-01-24 10:03:39 -08:00
idpf_controlq.h
idpf_controlq_api.h idpf: implement virtchnl transaction manager 2024-03-04 09:32:41 -08:00
idpf_controlq_setup.c
idpf_dev.c idpf: add support for SW triggered interrupts 2024-12-17 13:28:55 -08:00
idpf_devids.h
idpf_ethtool.c idpf: avoid vport access in idpf_get_link_ksettings 2024-11-04 13:09:33 -08:00
idpf_lan_pf_regs.h
idpf_lan_txrx.h idpf: stop using macros for accessing queue descriptors 2024-07-10 10:31:28 -07:00
idpf_lan_vf_regs.h
idpf_lib.c idpf: call set_real_num_queues in idpf_open 2025-02-11 09:13:11 -08:00
idpf_main.c idpf: convert workqueues to unbound 2025-01-24 10:03:39 -08:00
idpf_mem.h
idpf_singleq_txrx.c idpf: enable WB_ON_ITR 2024-09-09 13:15:37 -07:00
idpf_txrx.c idpf: fix checksums set in idpf_rx_rsc() 2025-02-27 07:31:41 -08:00
idpf_txrx.h idpf: add support for SW triggered interrupts 2024-12-17 13:28:55 -08:00
idpf_vf_dev.c idpf: add support for SW triggered interrupts 2024-12-17 13:28:55 -08:00
idpf_virtchnl.c idpf: add more info during virtchnl transaction timeout/salt mismatch 2025-01-24 10:03:39 -08:00
idpf_virtchnl.h idpf: refactor idpf_recv_mb_msg 2024-03-04 09:39:30 -08:00
virtchnl2.h idpf: sprinkle __counted_by{,_le}() in the virtchnl2 header 2024-03-28 18:50:47 -07:00
virtchnl2_lan_desc.h