Re: [syzbot] [overlayfs?] WARNING in ovl_copy_up_file

From: Amir Goldstein
Date: Wed Mar 13 2024 - 16:55:31 EST


On Wed, Mar 13, 2024 at 12:23 PM syzbot
<syzbot+3abd99031b42acf367ef@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 707081b61156 Merge branch 'for-next/core', remote-tracking..
> git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linuxgit for-kernelci
> console output: https://syzkaller.appspot.com/x/log.txt?x=1785a859180000
> kernel config: https://syzkaller.appspot.com/x/.config?x=caeac3f3565b057a
> dashboard link: https://syzkaller.appspot.com/bug?extid=3abd99031b42acf367ef
> compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> userspace arch: arm64
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1115ada6180000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1626870a180000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/6cad68bf7532/disk-707081b6.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/1a27e5400778/vmlinux-707081b6.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/67dfc53755d0/Image-707081b6.gz.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+3abd99031b42acf367ef@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> evm: overlay not supported
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 6187 at fs/overlayfs/copy_up.c:239 ovl_copy_up_file+0x624/0x674 fs/overlayfs/copy_up.c:330

Miklos,

The WARN_ON that I put in ovl_verify_area() may be too harsh.
I think they can happen if lower file is changed (i_size) while file is being
copied up after reading i_size into the copy length and this could be
the case with this syzbot reproducer that keeps mounting overlayfs
instances over same path.

Should probably demote those WARN_ON to just returning EIO?

Thanks,
Amir.