linux-stable/fs/overlayfs
Miklos Szeredi 1025281622 ovl: fix encoding fid for lower only root
commit 004b8d1491 upstream.

ovl_check_encode_origin() should return a positive number if the lower
dentry is to be encoded, zero otherwise.  If there's no upper layer at all
(read-only overlay), then it obviously needs to return positive.

This was broken by commit 16aac5ad1f ("ovl: support encoding
non-decodable file handles"), which didn't take the lower-only
configuration into account.

Fix by checking the no-upper-layer case up-front.

Reported-and-tested-by: Youzhong Yang <youzhong@gmail.com>
Closes: https://lore.kernel.org/all/CADpNCvaBimi+zCYfRJHvCOhMih8OU0rmZkwLuh24MKKroRuT8Q@mail.gmail.com/
Fixes: 16aac5ad1f ("ovl: support encoding non-decodable file handles")
Cc: <stable@vger.kernel.org> # v6.6
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 13:49:12 +02:00
..
copy_up.c
dir.c ovl: remove upper umask handling from ovl_create_upper() 2024-06-12 11:12:24 +02:00
export.c ovl: fix encoding fid for lower only root 2024-06-27 13:49:12 +02:00
file.c
inode.c
Kconfig
Makefile
namei.c
overlayfs.h
ovl_entry.h
params.c ovl: fix memory leak in ovl_parse_param() 2024-05-02 16:32:49 +02:00
params.h
readdir.c
super.c
util.c