From: David S. Miller Date: Sun, 6 Dec 2015 03:47:11 +0000 (-0500) Subject: Revert "rhashtable: Use __vmalloc with GFP_ATOMIC for table allocation" X-Git-Tag: v4.14-rc1~4171^2~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a90099d9fabd2458084b9c2b79f1a62d9b76a61a;p=platform%2Fkernel%2Flinux-rpi.git Revert "rhashtable: Use __vmalloc with GFP_ATOMIC for table allocation" This reverts commit d3716f18a7d841565c930efde30737a3557eee69. vmalloc cannot be used in BH disabled contexts, even with GFP_ATOMIC. And we certainly want to support rhashtable users inserting entries with software interrupts disabled. Signed-off-by: David S. Miller --- diff --git a/lib/rhashtable.c b/lib/rhashtable.c index 1c624db..2ff7ed9 100644 --- a/lib/rhashtable.c +++ b/lib/rhashtable.c @@ -120,9 +120,8 @@ static struct bucket_table *bucket_table_alloc(struct rhashtable *ht, if (size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER) || gfp != GFP_KERNEL) tbl = kzalloc(size, gfp | __GFP_NOWARN | __GFP_NORETRY); - if (tbl == NULL) - tbl = __vmalloc(size, gfp | __GFP_HIGHMEM | __GFP_ZERO, - PAGE_KERNEL); + if (tbl == NULL && gfp == GFP_KERNEL) + tbl = vzalloc(size); if (tbl == NULL) return NULL;