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:Xingyuan Mo <hdthky0@gmail.com> Signed-off-by:
Dai Ngo <dai.ngo@oracle.com> Tested-by:
Xingyuan Mo <hdthky0@gmail.com> Signed-off-by:
Chuck Lever <chuck.lever@oracle.com> Signed-off-by:
Ovidiu Panait <ovidiu.panait@windriver.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
sanglipeng <sanglipeng1@jd.com>
Loading
Please sign in to comment