This is a note to let you know that I've just added the patch titled RDMA/mlx5: Remove not-used cache disable flag to the 6.5-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: rdma-mlx5-remove-not-used-cache-disable-flag.patch and it can be found in the queue-6.5 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From c99a7457e5bb873914a74307ba2df85f6799203b Mon Sep 17 00:00:00 2001 From: Leon Romanovsky <leonro@xxxxxxxxxx> Date: Thu, 28 Sep 2023 20:20:47 +0300 Subject: RDMA/mlx5: Remove not-used cache disable flag From: Leon Romanovsky <leonro@xxxxxxxxxx> commit c99a7457e5bb873914a74307ba2df85f6799203b upstream. During execution of mlx5_mkey_cache_cleanup(), there is a guarantee that MR are not registered and/or destroyed. It means that we don't need newly introduced cache disable flag. Fixes: 374012b00457 ("RDMA/mlx5: Fix mkey cache possible deadlock on cleanup") Link: https://lore.kernel.org/r/c7e9c9f98c8ae4a7413d97d9349b29f5b0a23dbe.1695921626.git.leon@xxxxxxxxxx Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 - drivers/infiniband/hw/mlx5/mr.c | 5 ----- 2 files changed, 6 deletions(-) --- a/drivers/infiniband/hw/mlx5/mlx5_ib.h +++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h @@ -797,7 +797,6 @@ struct mlx5_mkey_cache { struct dentry *fs_root; unsigned long last_add; struct delayed_work remove_ent_dwork; - u8 disable: 1; }; struct mlx5_ib_port_resources { --- a/drivers/infiniband/hw/mlx5/mr.c +++ b/drivers/infiniband/hw/mlx5/mr.c @@ -1026,7 +1026,6 @@ void mlx5_mkey_cache_cleanup(struct mlx5 return; mutex_lock(&dev->cache.rb_lock); - dev->cache.disable = true; for (node = rb_first(root); node; node = rb_next(node)) { ent = rb_entry(node, struct mlx5_cache_ent, node); xa_lock_irq(&ent->mkeys); @@ -1824,10 +1823,6 @@ static int cache_ent_find_and_store(stru } mutex_lock(&cache->rb_lock); - if (cache->disable) { - mutex_unlock(&cache->rb_lock); - return 0; - } ent = mkey_cache_ent_from_rb_key(dev, mr->mmkey.rb_key); if (ent) { if (ent->rb_key.ndescs == mr->mmkey.rb_key.ndescs) { Patches currently in stable-queue which might be from leonro@xxxxxxxxxx are queue-6.5/net-release-reference-to-inet6_dev-pointer.patch queue-6.5/rdma-mlx5-fix-mutex-unlocking-on-error-flow-for-steering-anchor-creation.patch queue-6.5/rdma-mlx5-fix-null-string-error.patch queue-6.5/rdma-cma-fix-truncation-compilation-warning-in-make_cma_ports.patch queue-6.5/rdma-mlx5-fix-assigning-access-flags-to-cache-mkeys.patch queue-6.5/rdma-mlx5-fix-mkey-cache-possible-deadlock-on-cleanup.patch queue-6.5/rdma-mlx5-remove-not-used-cache-disable-flag.patch queue-6.5/rdma-core-require-admin-capabilities-to-set-system-parameters.patch