diff options
| author | Tony Lindgren <tony@atomide.com> | 2021-02-15 06:41:56 +0200 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2021-02-15 06:41:56 +0200 |
| commit | 857de6fe2f86b009df620f7cdb07c262cc17070d (patch) | |
| tree | e9718ebeeef39485a51a9f8e3c8122da18c796cf /mm/filemap.c | |
| parent | ARM: dts: am33xx: add aliases for mmc interfaces (diff) | |
| parent | ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data (diff) | |
| download | linux-857de6fe2f86b009df620f7cdb07c262cc17070d.tar.gz linux-857de6fe2f86b009df620f7cdb07c262cc17070d.zip | |
Merge branch 'fixes-v5.11' into fixes
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 5c9d564317a5..aa0e0fb04670 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -835,6 +835,7 @@ noinline int __add_to_page_cache_locked(struct page *page, XA_STATE(xas, &mapping->i_pages, offset); int huge = PageHuge(page); int error; + bool charged = false; VM_BUG_ON_PAGE(!PageLocked(page), page); VM_BUG_ON_PAGE(PageSwapBacked(page), page); @@ -848,6 +849,7 @@ noinline int __add_to_page_cache_locked(struct page *page, error = mem_cgroup_charge(page, current->mm, gfp); if (error) goto error; + charged = true; } gfp &= GFP_RECLAIM_MASK; @@ -896,6 +898,8 @@ unlock: if (xas_error(&xas)) { error = xas_error(&xas); + if (charged) + mem_cgroup_uncharge(page); goto error; } |
