mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
ANDROID: mm: page_pinner: reset migration failed page
Currently, __reset_page_pinner reset only PAGE_EXT_GET page freeing, not PAGE_EXT_PINNER_MIGRATION_FAILED page. It should handle both cases to prevent wrong PAGE_EXT_PINNER_MIGRATION_FAILED setting. Bug: 192475091 Signed-off-by: Minchan Kim <minchan@google.com> Change-Id: I9b4124393ee432c7cb29cd12d160ecf2a1e34360
This commit is contained in:
parent
470cce5085
commit
d012783a86
|
|
@ -151,7 +151,9 @@ void __reset_page_pinner(struct page *page, unsigned int order, bool free)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < (1 << order); i++) {
|
for (i = 0; i < (1 << order); i++) {
|
||||||
if (!test_bit(PAGE_EXT_GET, &page_ext->flags))
|
if (!test_bit(PAGE_EXT_GET, &page_ext->flags) &&
|
||||||
|
!test_bit(PAGE_EXT_PINNER_MIGRATION_FAILED,
|
||||||
|
&page_ext->flags))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
page_pinner = get_page_pinner(page_ext);
|
page_pinner = get_page_pinner(page_ext);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user