This is a note to let you know that I've just added the patch titled ovl: move freeing ovl_entry past rcu delay 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: ovl-move-freeing-ovl_entry-past-rcu-delay.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. commit 2ff67718b0d8054df84f1e24dc72cc8fb7ee1b8e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 2 03:36:13 2023 +0100 ovl: move freeing ovl_entry past rcu delay [ Upstream commit d9e8319a6e3538b430f692b5625a76ffa0758adc ] ... into ->free_inode(), that is. Fixes: 0af950f57fef "ovl: move ovl_entry into ovl_inode" Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index cc8977498c483..8e9c1cf83df24 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -164,6 +164,7 @@ static void ovl_free_inode(struct inode *inode) struct ovl_inode *oi = OVL_I(inode); kfree(oi->redirect); + kfree(oi->oe); mutex_destroy(&oi->lock); kmem_cache_free(ovl_inode_cachep, oi); } @@ -173,7 +174,7 @@ static void ovl_destroy_inode(struct inode *inode) struct ovl_inode *oi = OVL_I(inode); dput(oi->__upperdentry); - ovl_free_entry(oi->oe); + ovl_stack_put(ovl_lowerstack(oi->oe), ovl_numlower(oi->oe)); if (S_ISDIR(inode->i_mode)) ovl_dir_cache_free(inode); else