Re: [GIT PULL] ext4 changes for the 6.4 merge window

From: Nick Desaulniers
Date: Wed Apr 26 2023 - 13:44:10 EST


On Wed, Apr 26, 2023 at 10:36 AM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> On Wed, Apr 26, 2023 at 10:34 AM Nick Desaulniers
> <ndesaulniers@xxxxxxxxxx> wrote:
> >
> > On Wed, Apr 26, 2023 at 10:03 AM Linus Torvalds
> > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Mon, Apr 24, 2023 at 9:18 PM Theodore Ts'o <tytso@xxxxxxx> wrote:
> > > >
> > > > Please note that after merging the mm and ext4 trees you will need to
> > > > apply the patch found here[1].
> > > >
> > > > [1] https://lore.kernel.org/r/20230419120923.3152939-1-willy@xxxxxxxxxxxxx
> > > >
> > > > This is due to a patch in the mm tree, "mm: return an ERR_PTR from
> > > > __filemap_get_folio" changing that function to returning an ERR_PTR
> > > > instead of returning NULL on an error.
> > >
> > > Side note, itr would be wonderful if we could mark the places that
> > > return an error pointer as returning "nonnull", and catch things like
> > > this automatically at build time where people compare an error pointer
> > > to NULL.
> >
> > That's what clang's _Nonnull attribute does (with -Wnullability-extension).
> > https://godbolt.org/z/6jo1zbMd9
>
> Ah sorry, I _thought_ that's how _Nonnull worked on return types. Let
> me dig some more and see how that's supposed to work...

I guess this is how I'd have expected _Nonnull to work on return types.
https://godbolt.org/z/Yb7PdWv8q
I'll check with the team to see if there's interest in expanding this
check. Would be nice to have a GNU C __attribute__ syntax for this as
well, for eventual portability.
--
Thanks,
~Nick Desaulniers