On Thu, Jul 07, 2022 at 09:44:03AM +0300, Dan Carpenter wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 088b9c375534d905a4d337c78db3b3bfbb52c4a0 > commit: fdd1b94629bb5592abf40d0c7a572b58e4c0cadc [7884/8197] mm/page_alloc: protect PCP lists with a spinlock > config: i386-randconfig-m021 > compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 > > If you fix the issue, kindly add following tag where applicable > Reported-by: kernel test robot > Reported-by: Dan Carpenter > Thanks Dan, I see Andrew has already merged a fix for this. --8<-- mm-page_alloc-protect-pcp-lists-with-a-spinlock-fix add missing local_unlock_irqrestore() on contention path Reported-by: kernel test robot Reported-by: Dan Carpenter Cc: Hugh Dickins Cc: Marcelo Tosatti Cc: Marek Szyprowski Cc: Mel Gorman Cc: Michal Hocko Cc: Minchan Kim Cc: Nicolas Saenz Julienne Cc: Vlastimil Babka Cc: Yu Zhao Signed-off-by: Andrew Morton --- mm/page_alloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 3b819c2720f8..66b902fef364 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3788,6 +3788,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, pcp_trylock_prepare(UP_flags); if (!spin_trylock(&pcp->lock)) { pcp_trylock_finish(UP_flags); + local_unlock_irqrestore(&pagesets.lock, flags); return NULL; }