diff options
author | 2023-10-03 09:21:27 +0300 | |
---|---|---|
committer | 2023-10-03 09:24:11 +0300 | |
commit | c7242a45cb8cad5b6cd840fd4661315b45b1e841 (patch) | |
tree | 173fad06099094e5f53a9872c5416c1d534a9581 | |
parent | ovl: make use of ->layers safe in rcu pathwalk (diff) | |
download | wireguard-linux-c7242a45cb8cad5b6cd840fd4661315b45b1e841.tar.xz wireguard-linux-c7242a45cb8cad5b6cd840fd4661315b45b1e841.zip |
ovl: fix NULL pointer defer when encoding non-decodable lower fid
A wrong return value from ovl_check_encode_origin() would cause
ovl_dentry_to_fid() to try to encode fid from NULL upper dentry.
Reported-by: syzbot+2208f82282740c1c8915@syzkaller.appspotmail.com
Fixes: 16aac5ad1fa9 ("ovl: support encoding non-decodable file handles")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
-rw-r--r-- | fs/overlayfs/export.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c index c8c8588bd98c..26b782c53910 100644 --- a/fs/overlayfs/export.c +++ b/fs/overlayfs/export.c @@ -188,7 +188,7 @@ static int ovl_check_encode_origin(struct dentry *dentry) /* Lower file handle for non-upper non-decodable */ if (!ovl_dentry_upper(dentry) && !decodable) - return 0; + return 1; /* Upper file handle for pure upper */ if (!ovl_dentry_lower(dentry)) |