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 c9439c66d8cf..346e40177bc6 100644 --- a/mm/util.c +++ b/mm/util.c @@ -619,6 +619,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));  |