Hi Hillf, David, > > On Fri, 19 Jul 2024 13:21:30 +0200 David Hildenbrand <david@xxxxxxxxxx> > > On 19.07.24 00:51, syzbot wrote: > > > Hello, > > > > > > syzbot found the following issue on: > > > > > > HEAD commit: 4d145e3f830b Merge tag 'i2c-for-6.10-rc8' of git://git.ker.. > > > git tree: upstream > > > console output: https://syzkaller.appspot.com/x/log.txt?x=11321495980000 > > > kernel config: https://syzkaller.appspot.com/x/.config?x=6b5a15443200e31 > > > dashboard link: > https://syzkaller.appspot.com/bug?extid=ec4b7d82bb051330f15a > > > compiler: aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU > Binutils for Debian) 2.40 > > > userspace arch: arm64 > > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=113e054e980000 > > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1366ab85980000 > > > > > > > The reproducer involves udmabuf. I suspect it has to do with it. > > > > But I'm curius, does the reproducer not trigger before 4d145e3f830b on > > mainliny? > > > > Viveks changes are not upstream yet, but I can only speculate that we > > have some issue similar to the one we had with hugetlb: udmabuf doing > > things with memfd/shmem pages that it shouldn't do, because it doesn't > > "own" these pages. > > > > "udmabuf: Use vmf_insert_pfn and VM_PFNMAP for handling mmap" might > help. Thank you for taking a look. The above patch or other associated patches may be fixing this bug as I cannot reproduce this issue with a few weeks old mm-unstable. > > cpu1 cpu2 > --- --- > evict() find folio2 in page cache > truncate_inode_folio() > truncate_cleanup_folio(); > // unmap folio2 from mmA > unmap_mapping_folio(folio2); > mmap folio2 to mmB > filemap_remove_folio(folio2); > > > If the window exists for mapping folio to userspace while indoe is evicted, > is this report false positive? Yeah, this situation is possible as udmabuf currently does not handle truncation or hole punch of the memfd after a dmabuf is created. I have tried addressing this issue some time ago but the solution was not elegant. Need to revisit this when time permits. Thanks, Vivek