Re: [PATCH] mm/highmem: VM_BUG_ON() if offset + len > PAGE_SIZE

From: Andrew Morton
Date: Tue Apr 26 2022 - 16:48:20 EST


On Tue, 26 Apr 2022 22:19:57 +0200 "Fabio M. De Francesco" <fmdefrancesco@xxxxxxxxx> wrote:

> On martedì 26 aprile 2022 21:34:12 CEST Andrew Morton wrote:
> > On Tue, 26 Apr 2022 21:30:20 +0200 "Fabio M. De Francesco"
> <fmdefrancesco@xxxxxxxxx> wrote:
> >
> > > Add VM_BUG_ON() bounds checking to make sure that, if "offset + len>
> > > PAGE_SIZE", memset() does not corrupt data in adjacent pages.
> > >
> >
> > hm, why? To match all the other functions in there?
> >
> > I suppose that's logical. Or we could just delete all the other
> > VM_BUG_ON()s. Have any of them proven to be at all useful?
> >
> I am not so sure about it being so useful. I just noted that memzero_page()
> is the only function of that family that is implemented with no
> VM_BUG_ON(). I have no actual proofs of usefulness :(
>
> This is why yesterday I sent an "RFC Patch" (please see
> https://lore.kernel.org/lkml/20220424104806.25396-1-fmdefrancesco@xxxxxxxxx/
>
> Soon after sending it I thought that VM_WARN_ON_ONCE() could have been
> better suited, but Ira Weiny wrote to use VM_BUG_ON() for consistency.
>
> Now I could either delete all other VM_BUG_ON() or replace them with
> VM_WARN_ON_ONCE() (or some other macro).
>
> Ah, a third solution might be to leave highmem.h as it is now :)
>
> What do you prefer?

Merge this patch as-is, I guess. Going through and removing unuseful
VM_BUG_ON()s is a separable activity.