linux-stable/fs/overlayfs
Amir Goldstein f9c78afcee ovl: fix incorrect fdput() on aio completion
commit 724768a393 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:10:01 +02:00
..
copy_up.c ovl: fix failed copyup of fileattr on a symlink 2023-09-23 11:10:01 +02:00
dir.c ovl: update of dentry revalidate flags after copy up 2023-07-23 13:47:10 +02:00
export.c ovl: update of dentry revalidate flags after copy up 2023-07-23 13:47:10 +02:00
file.c ovl: fix incorrect fdput() on aio completion 2023-09-23 11:10:01 +02:00
inode.c ovl: fix null pointer dereference in ovl_get_acl_rcu() 2023-07-23 13:47:36 +02:00
Kconfig docs: fix broken references to text files 2020-04-20 15:35:59 -06:00
Makefile
namei.c ovl: update of dentry revalidate flags after copy up 2023-07-23 13:47:10 +02:00
overlayfs.h ovl: update of dentry revalidate flags after copy up 2023-07-23 13:47:10 +02:00
ovl_entry.h ovl: check type and offset of struct vfsmount in ovl_entry 2023-08-26 14:23:23 +02:00
readdir.c ovl: skip stale entries in merge dir cache iteration 2021-08-10 10:21:30 +02:00
super.c ovl: Always reevaluate the file signature for IMA 2023-09-19 12:22:28 +02:00
util.c ovl: update of dentry revalidate flags after copy up 2023-07-23 13:47:10 +02:00