summaryrefslogtreecommitdiffstats
path: root/ipc/util.c
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@infradead.org>2021-11-19 16:43:15 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2021-11-20 10:35:54 -0800
commit3cd018b4d6f2153e57bb67703891aa4fc7ac5c94 (patch)
tree3b8e342fb55ccc4a6c40680757b2196c660ce827 /ipc/util.c
parenta90af8f15bdc9449ee2d24e1d73fa3f7e8633f81 (diff)
downloadlinux-3cd018b4d6f2153e57bb67703891aa4fc7ac5c94.tar.gz
linux-3cd018b4d6f2153e57bb67703891aa4fc7ac5c94.tar.bz2
linux-3cd018b4d6f2153e57bb67703891aa4fc7ac5c94.zip
mm/swap.c:put_pages_list(): reinitialise the page list
While free_unref_page_list() puts pages onto the CPU local LRU list, it does not remove them from the list they were passed in on. That makes the list_head appear to be non-empty, and would lead to various corruption problems if we didn't have an assertion that the list was empty. Reinitialise the list after calling free_unref_page_list() to avoid this problem. Link: https://lkml.kernel.org/r/YYp40A2lNrxaZji8@casper.infradead.org Fixes: 988c69f1bc23 ("mm: optimise put_pages_list()") Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Steve French <stfrench@microsoft.com> Reported-by: Namjae Jeon <linkinjeon@kernel.org> Tested-by: Steve French <stfrench@microsoft.com> Tested-by: Namjae Jeon <linkinjeon@kernel.org> Cc: Steve French <smfrench@gmail.com> Cc: Hyeoncheol Lee <hyc.lee@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'ipc/util.c')
0 files changed, 0 insertions, 0 deletions