Re: [bug report] fuse: support copying large folios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 23, 2025 at 10:32:29AM -0700, Joanne Koong wrote:
> On Fri, May 23, 2025 at 8:59 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> >
> > Hello Joanne Koong,
> >
> > This is a semi-automatic email about new static checker warnings.
> >
> > Commit f008a4390bde ("fuse: support copying large folios") from May
> > 12, 2025, leads to the following Smatch complaint:
> >
> >     fs/fuse/dev.c:1103 fuse_copy_folio()
> >     warn: variable dereferenced before check 'folio' (see line 1101)
> >
> > fs/fuse/dev.c
> >   1100          struct folio *folio = *foliop;
> >   1101          size_t size = folio_size(folio);
> >                                          ^^^^^
> > The patch adds an unchecked dereference
> >
> >   1102
> >   1103          if (folio && zeroing && count < size)
> >                     ^^^^^
> > and it also adds this check for NULL which is too late.
> >
> >   1104                  folio_zero_range(folio, 0, size);
> >   1105
> 
> Thanks for flagging. I looked through where we call fuse_copy_folio()
> and we'll never run into the case where folio is null, so all the "if
> folio" branches inside there can probably be cleaned up with a WARN_ON
> check.
> 
> I'll submit a patch that fixes this commit and a separate patch that
> cleans up the if folio check.

Another idea is to just crash when people pass a NULL pointer.  The stack
traces from NULL dereference bugs are normally easy to debug unless
they're caused by a race condition or memory corruption.

regards,
dan carpenter




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux