ovl: fix copy-up in tmpfile
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 27 May 2024 13:44:48 +0000 (15:44 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 28 May 2024 08:06:55 +0000 (10:06 +0200)
commitdb03d39053a97d2f2a6baec025ebdacbab5886d2
tree96a91584e0e0655c8e6adb46dfe1e251889833bd
parent1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
ovl: fix copy-up in tmpfile

Move ovl_copy_up() call outside of ovl_want_write()/ovl_drop_write()
region, since copy up may also call ovl_want_write() resulting in recursive
locking on sb->s_writers.

Reported-and-tested-by: syzbot+85e58cdf5b3136471d4b@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/000000000000f6865106191c3e58@google.com/
Fixes: 9a87907de359 ("ovl: implement tmpfile")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/dir.c