Commit 3da8ee77 authored by Dai Ngo's avatar Dai Ngo Committed by openeuler-sync-bot
Browse files

NFSD: fix use-after-free in __nfs42_ssc_open()

stable inclusion
from stable-v5.10.177
commit 01e4c9c03de8a9f8839cb7342bc4bccf9104efe5
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I88YNP

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=01e4c9c03de8a9f8839cb7342bc4bccf9104efe5



--------------------------------

commit 75333d48 upstream.

Problem caused by source's vfsmount being unmounted but remains
on the delayed unmount list. This happens when nfs42_ssc_open()
return errors.

Fixed by removing nfsd4_interssc_connect(), leave the vfsmount
for the laundromat to unmount when idle time expires.

We don't need to call nfs_do_sb_deactive when nfs42_ssc_open
return errors since the file was not opened so nfs_server->active
was not incremented. Same as in nfsd4_copy, if we fail to
launch nfsd4_do_async_copy thread then there's no need to
call nfs_do_sb_deactive

Reported-by: default avatarXingyuan Mo <hdthky0@gmail.com>
Signed-off-by: default avatarDai Ngo <dai.ngo@oracle.com>
Tested-by: default avatarXingyuan Mo <hdthky0@gmail.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarOvidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
(cherry picked from commit 9ff7800a)
parent e2c6290b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment