syzbot is reporting sleep in RCU context, for commit d66c718d28ac ("workingset: refactor LRU refault to expose refault recency check") missed rcu_read_unlock(). Reported-by: syzbot <syzbot+3c6cac1550288f8e7060@xxxxxxxxxxxxxxxxxxxxxxxxx> Closes: https://syzkaller.appspot.com/bug?extid=3c6cac1550288f8e7060 Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Fixes: d66c718d28ac ("workingset: refactor LRU refault to expose refault recency check") --- mm/workingset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/workingset.c b/mm/workingset.c index d81f9dafc9f1..90ae785d4c9c 100644 --- a/mm/workingset.c +++ b/mm/workingset.c @@ -303,7 +303,7 @@ static void lru_gen_refault(struct folio *folio, void *shadow) goto unlock; if (pgdat != folio_pgdat(folio)) - return; + goto unlock; lruvec = mem_cgroup_lruvec(memcg, pgdat); lrugen = &lruvec->lrugen; -- 2.18.4