From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> In order to test the memory allocation failure paths, the radix tree test suite fails allocations if __GFP_NOWARN is set. That happens to work for the radix tree implementation, but the semantics we really want are that we want to fail allocations which are not GFP_KERNEL. Do this by failing allocations which don't have the DIRECT_RECLAIM bit set. Signed-off-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> --- tools/testing/radix-tree/linux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c index 6903ccf35595..f7f3caed3650 100644 --- a/tools/testing/radix-tree/linux.c +++ b/tools/testing/radix-tree/linux.c @@ -29,7 +29,7 @@ void *kmem_cache_alloc(struct kmem_cache *cachep, int flags) { struct radix_tree_node *node; - if (flags & __GFP_NOWARN) + if (!(flags & __GFP_DIRECT_RECLAIM)) return NULL; pthread_mutex_lock(&cachep->lock); -- 2.15.0