On Thu, 27 Sep 2018, Dmitry Vyukov wrote: > From: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > > This warning does not seem to be useful. Most of the time it fires when > allocation size depends on syscall arguments. We could add __GFP_NOWARN > to these allocation sites, but having a warning only to suppress it > does not make lots of sense. Moreover, this warnings never fires for > constant-size allocations and never for slub, because there are > additional checks and fallback to kmalloc_large() for large allocations > and kmalloc_large() does not warn. So the warning only fires for > non-constant allocations and only with slab, which is odd to begin with. > The warning leads to episodic unuseful syzbot reports. Remote it. /Remove/ If its only for slab then KMALLOC_MAX_CACHE_SIZE and KMALLOC_MAX_SIZE are the same value. > While we are here also fix the check. We should check against > KMALLOC_MAX_CACHE_SIZE rather than KMALLOC_MAX_SIZE. It all kinda > worked because for slab the constants are the same, and slub always > checks the size against KMALLOC_MAX_CACHE_SIZE before kmalloc_slab(). > But if we get there with size > KMALLOC_MAX_CACHE_SIZE anyhow > bad things will happen. Then the WARN_ON is correct just change the constant used. Ensure that SLAB does the same checks as SLUB.