diff options
author | Amir Goldstein <amir73il@gmail.com> | 2023-08-22 20:50:59 +0300 |
---|---|---|
committer | Amir Goldstein <amir73il@gmail.com> | 2023-09-04 18:27:38 +0300 |
commit | 724768a39374d35b70eaeae8dd87048a2ec7ae8e (patch) | |
tree | 3eb0e43379094a80cdbcb87f47517d3119db7b7a /include/linux/ethtool.h | |
parent | ab048302026d7701e7fbd718917e0dbcff0c4223 (diff) |
ovl: fix incorrect fdput() on aio completion
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: 2406a307ac7d ("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>
Diffstat (limited to 'include/linux/ethtool.h')
0 files changed, 0 insertions, 0 deletions