From: Brian Behlendorf Date: Wed, 23 Dec 2009 20:57:10 +0000 (-0800) Subject: Strip __GFP_ZERO from kmalloc it is not available for older kernels. X-Git-Tag: zfs-0.8.0-rc1~152^2~630 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef1c7a069131512458be75aae1e4857fcd8f133b;p=zfs Strip __GFP_ZERO from kmalloc it is not available for older kernels. This is needed to avoid a BUG_ON() on RHEL5.4 kernel 2.6.18-164.6.1, since __GFP_ZERO is not a valid flag for kmalloc(). --- diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c index 64498ee5d..f87d2b55a 100644 --- a/module/spl/spl-kmem.c +++ b/module/spl/spl-kmem.c @@ -505,7 +505,8 @@ vmem_alloc_track(size_t size, int flags, const char *func, int line) ASSERT(flags & KM_SLEEP); - dptr = (kmem_debug_t *) kmalloc_nofail(sizeof(kmem_debug_t), flags); + dptr = (kmem_debug_t *) kmalloc_nofail(sizeof(kmem_debug_t), + flags & ~__GFP_ZERO); if (dptr == NULL) { CWARN("vmem_alloc(%ld, 0x%x) debug failed\n", sizeof(kmem_debug_t), flags);