]> git.dujemihanovic.xyz Git - linux.git/commit
ovl: fix encoding fid for lower only root
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 14 Jun 2024 07:55:58 +0000 (09:55 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 14 Jun 2024 08:30:40 +0000 (10:30 +0200)
commit004b8d1491b4bcbb7da1a3206d1e7e66822d47c6
treee2bca4adc10cb628049ea875c236ae1f75bf94c8
parentdb03d39053a97d2f2a6baec025ebdacbab5886d2
ovl: fix encoding fid for lower only root

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 16aac5ad1fa9 ("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: 16aac5ad1fa9 ("ovl: support encoding non-decodable file handles")
Cc: <stable@vger.kernel.org> # v6.6
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/export.c