summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niewöhner <[email protected]>2019-07-17 18:09:22 +0200
committerBrian Behlendorf <[email protected]>2019-07-17 09:09:22 -0700
commit5784c7c36eca5a0c9ed662dfd9248de4c90862cf (patch)
tree0f5e58e0ac9dd8800e8f889ecf60fe7d1ab27c7c
parentc8802ba08d50483ca583f54dbe730e8ada922dd0 (diff)
Add missing __GFP_HIGHMEM flag to vmalloc
Make use of __GFP_HIGHMEM flag in vmem_alloc, which is required for some 32-bit systems to make use of full available memory. While kernel versions >=4.12-rc1 add this flag implicitly, older kernels do not. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Sebastian Gottschall <[email protected]> Signed-off-by: Michael Niewöhner <[email protected]> Closes #9031
-rw-r--r--module/spl/spl-kmem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c
index 1fdb61e6f..824b5e89f 100644
--- a/module/spl/spl-kmem.c
+++ b/module/spl/spl-kmem.c
@@ -180,7 +180,8 @@ spl_kmem_alloc_impl(size_t size, int flags, int node)
*/
if ((size > spl_kmem_alloc_max) || use_vmem) {
if (flags & KM_VMEM) {
- ptr = __vmalloc(size, lflags, PAGE_KERNEL);
+ ptr = __vmalloc(size, lflags | __GFP_HIGHMEM,
+ PAGE_KERNEL);
} else {
return (NULL);
}