diff options
| author | Selvin Xavier <selvin.xavier@broadcom.com> | 2026-09-21 23:12:28 -0700 |
|---|---|---|
| committer | Leon Romanovsky <leon@kernel.org> | 2026-09-29 04:42:04 -0400 |
| commit | 81caf9240dfb082c0eb2b24feef8266268fd152f (patch) | |
| tree | 454cd47f473e031983806e212dbaad41a4671939 /tools/lib/python/kdoc/python_version.py | |
| parent | 4d8168a3b7c93385c11dc836df569d337089b218 (diff) | |
RDMA/bnxt_re: Serialize dcb_wq access against async notifier
bnxt_re_async_notifier() runs in NAPI/softirq context via bnxt_en's
RCU-protected ULP ops dispatch, never under rtnl_lock, so it isn't
serialized against bnxt_re_uninit_dcb_wq() destroying rdev->dcb_wq.
A concurrent notifier call can queue_work() on a workqueue that is
being, or has just been, destroyed.
Add a spinlock scoped to dcb_wq: the notifier takes it before
checking dcb_wq and queuing work, and bnxt_re_uninit_dcb_wq() takes
it to atomically clear dcb_wq before destroying it. Initialize the
lock at rdev allocation so it is valid on every teardown path,
including bnxt_re_dev_init()'s early failure labels.
Fixes: 51dc5312dcd9 ("RDMA/bnxt_re: Add support to handle DCB_CONFIG_CHANGE event")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions
