]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ovl: fix warning in ovl_create_real()
authorMiklos Szeredi <mszeredi@redhat.com>
Thu, 4 Nov 2021 09:55:34 +0000 (10:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Dec 2021 08:19:04 +0000 (09:19 +0100)
commit445d2dc63e5871d218f21b8f62ab29ac72f2e6b8
treee72f627a6d80ede38714b2ddc2c3a5a7278efaf7
parent55e0c283fa6857e66acfc44984ceea893e1b8451
ovl: fix warning in ovl_create_real()

commit 1f5573cfe7a7056e80a92c7a037a3e69f3a13d1c upstream.

Syzbot triggered the following warning in ovl_workdir_create() ->
ovl_create_real():

if (!err && WARN_ON(!newdentry->d_inode)) {

The reason is that the cgroup2 filesystem returns from mkdir without
instantiating the new dentry.

Weird filesystems such as this will be rejected by overlayfs at a later
stage during setup, but to prevent such a warning, call ovl_mkdir_real()
directly from ovl_workdir_create() and reject this case early.

Reported-and-tested-by: syzbot+75eab84fd0af9e8bf66b@syzkaller.appspotmail.com
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/overlayfs/dir.c
fs/overlayfs/overlayfs.h
fs/overlayfs/super.c