]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ovl: do not encode lower fh with upper sb_writers held
authorAmir Goldstein <amir73il@gmail.com>
Wed, 16 Aug 2023 13:47:59 +0000 (16:47 +0300)
committerAmir Goldstein <amir73il@gmail.com>
Mon, 30 Oct 2023 22:12:57 +0000 (00:12 +0200)
commit5b02bfc1e7e3811c5bf7f0fa626a0694d0dbbd77
tree508405693acdfdf8200f5890f4930e9a48e49cde
parentc63e56a4a6523fcb1358e1878607d77a40b534bb
ovl: do not encode lower fh with upper sb_writers held

When lower fs is a nested overlayfs, calling encode_fh() on a lower
directory dentry may trigger copy up and take sb_writers on the upper fs
of the lower nested overlayfs.

The lower nested overlayfs may have the same upper fs as this overlayfs,
so nested sb_writers lock is illegal.

Move all the callers that encode lower fh to before ovl_want_write().

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
fs/overlayfs/copy_up.c
fs/overlayfs/namei.c
fs/overlayfs/overlayfs.h
fs/overlayfs/super.c
fs/overlayfs/util.c