Skip to content

Using dev_kfree_skb_any for functions called in multiple contexts

Eric W. Biederman netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/108139cp: Call dev_kfree_skby_any instead of kfree_skb.drivers/net/ethernet/realtek/8139cp.c+1 -10 replies
1/10netpoll: move setting of NETPOLL_RX_DROP into netpoll_poll_devnet/core/netpoll.c+8 -80 replies
2/108139too: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/realtek/8139too.c+2 -26 replies
2/10netpoll: Pass budget into poll_napinet/core/netpoll.c+3 -30 replies
3/10r8169: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/realtek/r8169.c+3 -31 reply
3/10netpoll: Visit all napi handlers in poll_napinet/core/netpoll.c+0 -30 replies
4/10bonding: Call dev_kfree_skby_any instead of kfree_skb.drivers/net/bonding/bond_3ad.c drivers/net/bonding/bond_alb.c drivers/net/bonding/bond_main.c+7 -70 replies
4/10netpoll: Warn if more packets are processed than are budgetednet/core/netpoll.c+1 -00 replies
5/10bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/broadcom/bnx2.c+3 -30 replies
5/10netpoll: Add netpoll_rx_processinginclude/linux/netpoll.h net/core/netpoll.c+16 -60 replies
6/10tg3: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/broadcom/tg3.c+7 -70 replies
6/10netpoll: Don't drop all received packets.include/linux/netpoll.h net/core/netpoll.c+7 -130 replies
7/10ixgb: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/intel/ixgb/ixgb_main.c+3 -30 replies
7/10netpoll: Move netpoll_trap under CONFIG_NETPOLL_TRAPinclude/linux/netpoll.h net/core/netpoll.c+18 -70 replies
8/10mlx4: Call dev_kfree_skby_any instead of dev_kfree_skb.drivers/net/ethernet/mellanox/mlx4/en_tx.c+1 -10 replies
8/10netpoll: Consolidate neigh_tx processing in service_neigh_queuenet/core/netpoll.c+16 -220 replies
9/10benet: Call dev_kfree_skby_any instead of kfree_skb.drivers/net/ethernet/emulex/benet/be_main.c+1 -10 replies
9/10netpoll: Move all receive processing under CONFIG_NETPOLL_TRAPinclude/linux/netpoll.h net/core/netpoll.c+104 -500 replies
10/10gianfar: Carefully free skbs in functions called by netpoll.drivers/net/ethernet/freescale/gianfar.c+2 -20 replies
10/10netpoll: Remove dead packet receive code (CONFIG_NETPOLL_TRAP)drivers/net/Kconfig include/linux/netdevice.h include/linux/netpoll.h +2 more+2 -6350 replies

Reviews trailers per patch

2 of 20 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchEric Dumazet
SeriesA-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b A-b
1/10
1/10
2/10
2/10
3/10
3/10
4/10
4/10
5/10
5/10
6/10
6/10
7/10
7/10
8/10
8/10
9/10
9/10
10/10A-b
10/10A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH next-next 0/10] Using dev_kfree_skb_any for functions called in multiple contexts

This patchset should be an uncontroversial set of changes to change dev_kfree_skb to dev_kfree_skb_any for code paths that are called in hard irq contexts in addition to other contexts. netpoll is the reason this code gets called in multiple contexts.

There is more coming but these changes are a good starting place, and stand on their own.

Since the last round changes to the rx path have been removed netpoll will changed to avoid that.

Eric W. Biederman (10):
8139cp: Call dev_kfree_skby_any instead of kfree_skb. 8139too: Call dev_kfree_skby_any instead of dev_kfree_skb.
r8169: Call dev_kfree_skby_any instead of dev_kfree_skb.
bonding: Call dev_kfree_skby_any instead of kfree_skb.
bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb.
tg3: Call dev_kfree_skby_any instead of dev_kfree_skb.
ixgb: Call dev_kfree_skby_any instead of dev_kfree_skb.
mlx4: Call dev_kfree_skby_any instead of dev_kfree_skb.
benet: Call dev_kfree_skby_any instead of kfree_skb.
gianfar: Carefully free skbs in functions called by netpoll.

 drivers/net/bonding/bond_3ad.c              |    2 +-
 drivers/net/bonding/bond_alb.c              |    2 +-
 drivers/net/bonding/bond_main.c             |   10 +++++-----
 drivers/net/ethernet/broadcom/bnx2.c        |    6 +++---
 drivers/net/ethernet/broadcom/tg3.c         |   14 +++++++-------
 drivers/net/ethernet/emulex/benet/be_main.c |    2 +-
 drivers/net/ethernet/freescale/gianfar.c    |    4 ++--
 drivers/net/ethernet/intel/ixgb/ixgb_main.c |    6 +++---
 drivers/net/ethernet/mellanox/mlx4/en_tx.c  |    2 +-
 drivers/net/ethernet/realtek/8139cp.c       |    2 +-
 drivers/net/ethernet/realtek/8139too.c      |    4 ++--
 drivers/net/ethernet/realtek/r8169.c        |    6 +++---
 12 files changed, 30 insertions(+), 30 deletions(-)

Eric