diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ref_tracker.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ref_tracker.c b/lib/ref_tracker.c index 30c999d57b10..5f63206357b2 100644 --- a/lib/ref_tracker.c +++ b/lib/ref_tracker.c @@ -265,7 +265,7 @@ int ref_tracker_alloc(struct ref_tracker_dir *dir, refcount_inc(&dir->no_tracker); return 0; } - if (gfp & __GFP_DIRECT_RECLAIM) + if ((gfp & __GFP_DIRECT_RECLAIM) && !(current->flags & PF_MEMALLOC)) gfp_mask |= __GFP_NOFAIL; *trackerp = tracker = kzalloc_obj(*tracker, gfp_mask); if (unlikely(!tracker)) { |
