]> www.infradead.org Git - users/jedix/linux-maple.git/commit
IB/core: Annotate umem_mutex acquisition under fs_reclaim for lockdep
authorOr Har-Toov <ohartoov@nvidia.com>
Mon, 16 Jun 2025 08:16:03 +0000 (11:16 +0300)
committerLeon Romanovsky <leon@kernel.org>
Wed, 25 Jun 2025 07:40:16 +0000 (03:40 -0400)
commit3f5f6321f129ad5a30aa03c99c196b4612be68a8
tree8edffa7b27bdf5f3c5b3fc109b2d0011d9e704ed
parent2ed25aa7f7711f508b6120e336f05cd9d49943c0
IB/core: Annotate umem_mutex acquisition under fs_reclaim for lockdep

Following the fix in the previous commit ("IB/mlx5: Fix potential
deadlock in MR deregistration"), teach lockdep explicitly about the
locking order between fs_reclaim and umem_mutex.

The previous commit resolved a potential deadlock scenario where
kzalloc(GFP_KERNEL) was called while holding umem_mutex, which could
lead to reclaim and eventually invoke the MMU notifier
(mlx5_ib_invalidate_range()), causing a recursive acquisition of
umem_mutex.

To prevent such issues from reoccurring unnoticed in future code
changes, add a lockdep annotation in ib_init_umem_odp() that simulates
taking umem_mutex inside a reclaim context. This makes lockdep aware
of this locking dependency and ensures that future violations—such as
calling kzalloc() or any memory allocator that may enter reclaim while
holding umem_mutex—will immediately raise a lockdep warning.

Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Link: https://patch.msgid.link/9d31b9d8fe1db648a9f47cec3df6b8463319dee5.1750061698.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/core/umem_odp.c