From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87540C433F5 for ; Tue, 5 Apr 2022 14:18:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1E57E6B0071; Tue, 5 Apr 2022 10:18:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 194446B0073; Tue, 5 Apr 2022 10:18:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 05CEB6B0074; Tue, 5 Apr 2022 10:18:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.a.hostedemail.com [64.99.140.24]) by kanga.kvack.org (Postfix) with ESMTP id EB69C6B0071 for ; Tue, 5 Apr 2022 10:17:59 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A1C9220D1C for ; Tue, 5 Apr 2022 14:17:49 +0000 (UTC) X-FDA: 79323029058.04.4AA5D8B Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf09.hostedemail.com (Postfix) with ESMTP id EBD2A14003B for ; Tue, 5 Apr 2022 14:17:48 +0000 (UTC) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id 8D5FF210FD; Tue, 5 Apr 2022 14:17:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1649168267; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BvTEfQ7kJIqh1i2okodWWZaOv98eaMhKZYSbbqfbqYA=; b=d9XBmlgmY3A70bvfCltmJ743BPcZgNoVojfxXvCHM8d7PWevIOpBrYxcAk0yedES0cZCmP CNOw62MQnC5Y4eifXYgoEwgM3YY+C/9/0UUoSLlmAslbdcz2H+losrp4380tiGFQD+6SFh 7K1OE/Qh8ajN+ALwVhvhTrWzzaaXa5M= Received: from suse.cz (unknown [10.100.201.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id D2921A3B8A; Tue, 5 Apr 2022 14:17:46 +0000 (UTC) Date: Tue, 5 Apr 2022 16:17:43 +0200 From: Michal Hocko To: Alexander Sverdlin Cc: Nicholas Piggin , Alexander Duyck , Matthew Wilcox , Hugh Dickins , Yu Zhao , Mel Gorman , Lee Schermerhorn , Sasha Levin , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: mm: swap: locking in release_pages() Message-ID: References: <89009285-c75d-0f09-5b08-d133c42a18f9@nokia.com> <404b3d6e-510e-c15f-a28b-7425bcc67cc2@nokia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <404b3d6e-510e-c15f-a28b-7425bcc67cc2@nokia.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: EBD2A14003B X-Stat-Signature: jez96ao7b1gr7kox5kj8nms8knwdzgzk Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=d9XBmlgm; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com X-Rspam-User: X-HE-Tag: 1649168268-147999 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue 05-04-22 16:00:54, Alexander Sverdlin wrote: > Hello Michal! > > On 05/04/2022 13:45, Michal Hocko wrote: > >>>> 1. Crash of v5.4.170 on an ARM32 machine: > >>>> > >>>> Unable to handle kernel NULL pointer dereference at virtual address 00000104 > >>>> pgd = e138149d > >>>> [00000104] *pgd=84d2fd003, *pmd=8ffd6f003 > >>>> Internal error: Oops: a07 [#1] PREEMPT SMP ARM > >>>> ... > >>>> CPU: 1 PID: 6172 Comm: AaSysInfoRColle Tainted: G B O 5.4.170-... #1 > >>>> Hardware name: Keystone > >>>> PC is at release_pages+0x194/0x358 > >>>> LR is at release_pages+0x10c/0x358 > >>> Which LOC does this correspond to? (faddr2line should give you a nice > >>> output). > >> Sorry, I forgot this info in the initial report: > >> > >> this is indeed the del_page_from_lru_list() in this crash. > > Could you be more specific please? Is the problem in list_del or > > update_lru_size? > > static inline void __list_del(struct list_head * prev, struct list_head * next) > { > next->prev = prev; <-- OK, I see. AFAICS this means that entry->next is NULL which doesn't look like somebody else has done list_del as that would leave poison values behind. Maybe somebody has clobbered the page state. In any case I would recommend reproducing without stable patches and/or with the current Linus tree. -- Michal Hocko SUSE Labs