android_kernel_samsung_sm8650/fs/overlayfs
Amir Goldstein e7dcf8339a ovl: fix incorrect fdput() on aio completion
commit 724768a39374d35b70eaeae8dd87048a2ec7ae8e upstream.

ovl_{read,write}_iter() always call fdput(real) to put one or zero
refcounts of the real file, but for aio, whether it was submitted or not,
ovl_aio_put() also calls fdput(), which is not balanced.  This is only a
problem in the less common case when FDPUT_FPUT flag is set.

To fix the problem use get_file() to take file refcount and use fput()
instead of fdput() in ovl_aio_put().

Fixes: 2406a307ac ("ovl: implement async IO routines")
Cc: <stable@vger.kernel.org> # v5.6
Reviewed-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-23 11:11:10 +02:00
..
copy_up.c ovl: fix failed copyup of fileattr on a symlink 2023-09-23 11:11:10 +02:00
dir.c ovl: update of dentry revalidate flags after copy up 2023-07-19 16:21:33 +02:00
export.c ovl: update of dentry revalidate flags after copy up 2023-07-19 16:21:33 +02:00
file.c ovl: fix incorrect fdput() on aio completion 2023-09-23 11:11:10 +02:00
inode.c ovl: fix null pointer dereference in ovl_permission() 2023-08-03 10:23:47 +02:00
Kconfig docs: fix broken references to text files 2020-04-20 15:35:59 -06:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
namei.c ovl: update of dentry revalidate flags after copy up 2023-07-19 16:21:33 +02:00
overlayfs.h ovl: let helper ovl_i_path_real() return the realinode 2023-07-23 13:49:28 +02:00
ovl_entry.h ovl: check type and offset of struct vfsmount in ovl_entry 2023-07-27 08:50:32 +02:00
readdir.c whack-a-mole: constifying struct path * 2022-10-06 17:31:02 -07:00
super.c ovl: Always reevaluate the file signature for IMA 2023-09-13 09:42:23 +02:00
util.c ovl: let helper ovl_i_path_real() return the realinode 2023-07-23 13:49:28 +02:00