diff options
Diffstat (limited to 'mm/util.c')
| -rw-r--r-- | mm/util.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/util.c b/mm/util.c index 5cd3f7910f2c..12984e76767e 100644 --- a/mm/util.c +++ b/mm/util.c @@ -587,6 +587,10 @@ void *kvmalloc_node(size_t size, gfp_t flags, int node) if (ret || size <= PAGE_SIZE) return ret; + /* non-sleeping allocations are not supported by vmalloc */ + if (!gfpflags_allow_blocking(flags)) + return NULL; + /* Don't even allow crazy sizes */ if (unlikely(size > INT_MAX)) { WARN_ON_ONCE(!(flags & __GFP_NOWARN)); |
