summaryrefslogtreecommitdiff
path: root/lib/bitmap.c
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2022-03-31 08:27:09 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-04-15 14:18:28 +0200
commit9a8835902eb66efa716e86aae853ae3122dc0ba5 (patch)
tree978cb289569c11544fc20d037518d2102fe21830 /lib/bitmap.c
parentcbd110b8dd7ad763bf413f71c0484116ae9302d4 (diff)
XArray: Update the LRU list in xas_split()
commit 3ed4bb77156da0bc732847c8c9df92454c1fbeea upstream. When splitting a value entry, we may need to add the new nodes to the LRU list and remove the parent node from the LRU list. The WARN_ON checks in shadow_lru_isolate() catch this oversight. This bug was latent until we stopped splitting folios in shrink_page_list() with commit 820c4e2e6f51 ("mm/vmscan: Free non-shmem folios without splitting them"). That allows the creation of large shadow entries, and subsequently when trying to page in a small page, we will split the large shadow entry in __filemap_add_folio(). Fixes: 8fc75643c5e1 ("XArray: add xas_split") Reported-by: Hugh Dickins <hughd@google.com> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib/bitmap.c')
0 files changed, 0 insertions, 0 deletions