#include <linux/kobject.h>
 #include <linux/sched.h>
 #include <linux/cred.h>
+#include <linux/sched/mm.h>
 #include <linux/vmalloc.h>
 #include <linux/bio.h>
 #include <linux/blkdev.h>
                                                pgoff_t index, bool for_write)
 {
        struct page *page;
+       unsigned int flags;
 
        if (IS_ENABLED(CONFIG_F2FS_FAULT_INJECTION)) {
                if (!for_write)
 
        if (!for_write)
                return grab_cache_page(mapping, index);
-       return grab_cache_page_write_begin(mapping, index, AOP_FLAG_NOFS);
+
+       flags = memalloc_nofs_save();
+       page = grab_cache_page_write_begin(mapping, index, 0);
+       memalloc_nofs_restore(flags);
+
+       return page;
 }
 
 static inline struct page *f2fs_pagecache_get_page(