On Mon, Feb 06, 2017 at 03:07:13PM +0100, Michal Hocko wrote: > While we are at it also make sure that the radix tree doesn't > accidentaly override tags stored in the upper part of the gfp_mask. > diff --git a/lib/radix-tree.c b/lib/radix-tree.c > index 9dc093d5ef39..7550be09f9d6 100644 > --- a/lib/radix-tree.c > +++ b/lib/radix-tree.c > @@ -2274,6 +2274,8 @@ static int radix_tree_cpu_dead(unsigned int cpu) > void __init radix_tree_init(void) > { > int ret; > + > + BUILD_BUG_ON(RADIX_TREE_MAX_TAGS + __GFP_BITS_SHIFT > 32); > radix_tree_node_cachep = kmem_cache_create("radix_tree_node", > sizeof(struct radix_tree_node), 0, > SLAB_PANIC | SLAB_RECLAIM_ACCOUNT, That's going to have a conceptual conflict with some patches I have in flight. I'll take this part through my radix tree patch collection.