mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
slab: improve checking for invalid gfp_flags
The code goes BUG, but doesn't tell us which bits were unexpectedly set. Print that out. Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f6edde9cbe
commit
c871ac4e96
@ -2590,7 +2590,10 @@ static int cache_grow(struct kmem_cache *cachep,
|
||||
* Be lazy and only check for valid flags here, keeping it out of the
|
||||
* critical path in kmem_cache_alloc().
|
||||
*/
|
||||
BUG_ON(flags & GFP_SLAB_BUG_MASK);
|
||||
if (unlikely(flags & GFP_SLAB_BUG_MASK)) {
|
||||
pr_emerg("gfp: %u\n", flags & GFP_SLAB_BUG_MASK);
|
||||
BUG();
|
||||
}
|
||||
local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK);
|
||||
|
||||
/* Take the node list lock to change the colour_next on this node */
|
||||
|
@ -1377,7 +1377,10 @@ static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
|
||||
int order;
|
||||
int idx;
|
||||
|
||||
BUG_ON(flags & GFP_SLAB_BUG_MASK);
|
||||
if (unlikely(flags & GFP_SLAB_BUG_MASK)) {
|
||||
pr_emerg("gfp: %u\n", flags & GFP_SLAB_BUG_MASK);
|
||||
BUG();
|
||||
}
|
||||
|
||||
page = allocate_slab(s,
|
||||
flags & (GFP_RECLAIM_MASK | GFP_CONSTRAINT_MASK), node);
|
||||
|
Loading…
Reference in New Issue
Block a user