• Amir Goldstein's avatar
    ovl: fix incorrect fdput() on aio completion · 724768a3
    Amir Goldstein authored
    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: 2406a307 ("ovl: implement async IO routines")
    Cc: <stable@vger.kernel.org> # v5.6
    Reviewed-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    724768a3
file.c 16.5 KB