1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/intel/ice
Björn Töpel 1beb7830d3 ice: avoid premature Rx buffer reuse
The page recycle code, incorrectly, relied on that a page fragment
could not be freed inside xdp_do_redirect(). This assumption leads to
that page fragments that are used by the stack/XDP redirect can be
reused and overwritten.

To avoid this, store the page count prior invoking xdp_do_redirect().

Fixes: efc2214b60 ("ice: Add support for XDP")
Reported-and-analyzed-by: Li RongQing <lirongqing@baidu.com>
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2020-12-09 15:26:58 -08:00
..
ice.h ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_adminq_cmd.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_arfs.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_arfs.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_base.c xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces 2020-08-31 21:15:04 +02:00
ice_base.h ice: Add support to enable/disable all Rx queues before waiting 2020-02-15 16:39:55 -08:00
ice_common.c ice: preserve NVM capabilities in safe mode 2020-09-30 08:32:35 -07:00
ice_common.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_controlq.c ice: reduce scope of variable 2020-07-29 08:38:55 -07:00
ice_controlq.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_dcb.c ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_dcb_lib.c ice: fix link event handling timing 2020-07-29 08:38:54 -07:00
ice_dcb_lib.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb_nl.c ice: remove unused macro 2020-05-27 17:03:40 -07:00
ice_dcb_nl.h ice: Implement DCBNL support 2019-11-08 12:02:14 -08:00
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_devlink.c ice: add additional debug logging for firmware update 2020-10-09 13:14:19 -07:00
ice_devlink.h ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_ethtool.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_ethtool_fdir.c ice: remove unused args from ice_get_open_tunnel_port() 2020-09-28 12:50:12 -07:00
ice_fdir.c ice: remove unused args from ice_get_open_tunnel_port() 2020-09-28 12:50:12 -07:00
ice_fdir.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flex_pipe.c ice: remove repeated words 2020-10-09 13:14:19 -07:00
ice_flex_pipe.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_flex_type.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_flow.c ice: fix adding IP4 IP6 Flow Director rules 2020-10-09 13:14:19 -07:00
ice_flow.h ice: Fix pointer cast warnings 2020-10-09 13:14:19 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fw_update.c ice: add additional debug logging for firmware update 2020-10-09 13:14:19 -07:00
ice_fw_update.h ice: add support for flash update overwrite mask 2020-09-25 17:20:57 -07:00
ice_hw_autogen.h ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_lan_tx_rx.h ice: update PTYPE lookup table 2020-08-01 08:44:04 -07:00
ice_lib.c ice: refactor devlink_port to be per-VSI 2020-10-09 13:14:19 -07:00
ice_lib.h ice: fix memory leak if register_netdev_fails 2020-09-25 07:39:24 -07:00
ice_main.c ice: add additional debug logging for firmware update 2020-10-09 13:14:19 -07:00
ice_nvm.c ice: Add AdminQ commands for FW update 2020-07-28 17:07:06 -07:00
ice_nvm.h ice: Add AdminQ commands for FW update 2020-07-28 17:07:06 -07:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_protocol_type.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_sched.c ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_sched.h ice: avoid unnecessary single-member variable-length structs 2020-07-01 16:33:29 -07:00
ice_sriov.c ice: remove unnecessary fallthrough comments 2020-02-15 16:56:48 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_switch.c ice: return correct error code from ice_aq_sw_rules 2020-07-29 08:38:55 -07:00
ice_switch.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_txrx.c ice: avoid premature Rx buffer reuse 2020-12-09 15:26:58 -08:00
ice_txrx.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_txrx_lib.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_type.h ice: convert to new udp_tunnel infrastructure 2020-09-28 12:50:12 -07:00
ice_virtchnl_pf.c ice: remove repeated words 2020-10-09 13:14:19 -07:00
ice_virtchnl_pf.h ice: Allow 2 queue pairs per VF on SR-IOV initialization 2020-08-01 08:44:04 -07:00
ice_xsk.c xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance 2020-08-31 21:15:04 +02:00
ice_xsk.h xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
Makefile ice: implement device flash update via devlink 2020-07-28 17:07:06 -07:00