Re: [PATCH v3 2/2] slab: __GFP_ZERO is incompatible with a constructor
From: Matthew Wilcox
Date: Fri Aug 03 2018 - 18:36:50 EST
On Fri, Aug 03, 2018 at 02:22:57PM -0700, Guenter Roeck wrote:
> Hi,
>
> On Thu, Apr 12, 2018 at 12:13:22PM -0700, Matthew Wilcox wrote:
> > From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
> >
> > __GFP_ZERO requests that the object be initialised to all-zeroes,
> > while the purpose of a constructor is to initialise an object to a
> > particular pattern. We cannot do both. Add a warning to catch any
> > users who mistakenly pass a __GFP_ZERO flag when allocating a slab with
> > a constructor.
> >
> > Fixes: d07dbea46405 ("Slab allocators: support __GFP_ZERO in all allocators")
> > Signed-off-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
> > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> > Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
> > Acked-by: Michal Hocko <mhocko@xxxxxxxx>
>
> Seen with v4.18-rc7-139-gef46808 and v4.18-rc7-178-g0b5b1f9a78b5 when
> booting sh4 images in qemu:
Thanks! It's under discussion here:
https://marc.info/?t=153301426900002&r=1&w=2
also reported here with a bogus backtrace:
https://marc.info/?l=linux-sh&m=153305755505935&w=2
Short version: It's a bug that's been present since 2009 and nobody
noticed until now. And nobody's quite sure what the effect of this
bug is.