]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: gro_cells: Reduce lock scope in gro_cell_poll
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 4 Nov 2025 15:34:35 +0000 (16:34 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 6 Nov 2025 01:41:29 +0000 (17:41 -0800)
commitd917c217b612971ea05ae1582e8740b747e0e7e8
tree1826d13dd0fff057c7479cc85ba94add800db080
parentb1d16f7c0063b7209fd3251ce40c77d37b477b83
net: gro_cells: Reduce lock scope in gro_cell_poll

One GRO-cell device's NAPI callback can nest into the GRO-cell of
another device if the underlying device is also using GRO-cell.
This is the case for IPsec over vxlan.
These two GRO-cells are separate devices. From lockdep's point of view
it is the same because each device is sharing the same lock class and so
it reports a possible deadlock assuming one device is nesting into
itself.

Hold the bh_lock only while accessing gro_cell::napi_skbs in
gro_cell_poll(). This reduces the locking scope and avoids acquiring the
same lock class multiple times.

Fixes: 25718fdcbdd2 ("net: gro_cells: Use nested-BH locking for gro_cell")
Reported-by: Gal Pressman <gal@nvidia.com>
Closes: https://lore.kernel.org/all/66664116-edb8-48dc-ad72-d5223696dd19@nvidia.com/
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20251104153435.ty88xDQt@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/gro_cells.c