summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/types.h2
-rw-r--r--linux/shrinker.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/types.h b/include/linux/types.h
index f0efcd2e..7144f17f 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -25,7 +25,7 @@ typedef unsigned short umode_t;
typedef unsigned gfp_t;
-#define GFP_KERNEL 0
+#define GFP_KERNEL 1
#define GFP_ATOMIC 0
#define GFP_NOFS 0
#define GFP_NOIO 0
diff --git a/linux/shrinker.c b/linux/shrinker.c
index 25cdfbb6..0f73620b 100644
--- a/linux/shrinker.c
+++ b/linux/shrinker.c
@@ -88,6 +88,9 @@ void run_shrinkers(gfp_t gfp_mask, bool allocation_failed)
struct sysinfo info;
s64 want_shrink;
+ if (!(gfp_mask & GFP_KERNEL))
+ return;
+
/* Fast out if there are no shrinkers to run. */
if (list_empty(&shrinker_list))
return;