Patch "ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()" has been added to the 5.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()

to the 5.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ovl-drop-warn_on-dentry-is-null-in-ovl_encode_fh.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit ba2c0597b0c1aaf5277e7c02c68e8535863025bc
Author: Jiachen Zhang <zhangjiachen.jaycee@xxxxxxxxxxxxx>
Date:   Thu Jul 28 19:49:15 2022 +0800

    ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()
    
    [ Upstream commit dd524b7f317de8d31d638cbfdc7be4cf9b770e42 ]
    
    Some code paths cannot guarantee the inode have any dentry alias. So
    WARN_ON() all !dentry may flood the kernel logs.
    
    For example, when an overlayfs inode is watched by inotifywait (1), and
    someone is trying to read the /proc/$(pidof inotifywait)/fdinfo/INOTIFY_FD,
    at that time if the dentry has been reclaimed by kernel (such as
    echo 2 > /proc/sys/vm/drop_caches), there will be a WARN_ON(). The
    printed call stack would be like:
    
        ? show_mark_fhandle+0xf0/0xf0
        show_mark_fhandle+0x4a/0xf0
        ? show_mark_fhandle+0xf0/0xf0
        ? seq_vprintf+0x30/0x50
        ? seq_printf+0x53/0x70
        ? show_mark_fhandle+0xf0/0xf0
        inotify_fdinfo+0x70/0x90
        show_fdinfo.isra.4+0x53/0x70
        seq_show+0x130/0x170
        seq_read+0x153/0x440
        vfs_read+0x94/0x150
        ksys_read+0x5f/0xe0
        do_syscall_64+0x59/0x1e0
        entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    So let's drop WARN_ON() to avoid kernel log flooding.
    
    Reported-by: Hongbo Yin <yinhongbo@xxxxxxxxxxxxx>
    Signed-off-by: Jiachen Zhang <zhangjiachen.jaycee@xxxxxxxxxxxxx>
    Signed-off-by: Tianci Zhang <zhangtianci.1997@xxxxxxxxxxxxx>
    Fixes: 8ed5eec9d6c4 ("ovl: encode pure upper file handles")
    Cc: <stable@xxxxxxxxxxxxxxx> # v4.16
    Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c
index 2eada97bbd23..e065a5b9a442 100644
--- a/fs/overlayfs/export.c
+++ b/fs/overlayfs/export.c
@@ -259,7 +259,7 @@ static int ovl_encode_fh(struct inode *inode, u32 *fid, int *max_len,
 		return FILEID_INVALID;
 
 	dentry = d_find_any_alias(inode);
-	if (WARN_ON(!dentry))
+	if (!dentry)
 		return FILEID_INVALID;
 
 	bytes = ovl_dentry_to_fid(ofs, dentry, fid, buflen);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux