diff options
author | 2022-03-31 08:27:09 -0400 | |
---|---|---|
committer | 2022-03-31 08:52:57 -0400 | |
commit | 3ed4bb77156da0bc732847c8c9df92454c1fbeea (patch) | |
tree | 0f74eca6af6a307a4a4ea604a759a71e82086ef2 /Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml | |
parent | XArray: Fix xas_create_range() when multi-order entry present (diff) | |
download | linux-dev-3ed4bb77156da0bc732847c8c9df92454c1fbeea.tar.xz linux-dev-3ed4bb77156da0bc732847c8c9df92454c1fbeea.zip |
XArray: Update the LRU list in xas_split()
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>
Diffstat (limited to 'Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml')
0 files changed, 0 insertions, 0 deletions