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 A6F4DEB64D9 for ; Sat, 17 Jun 2023 07:01:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2213C6B007E; Sat, 17 Jun 2023 03:01:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D1486B0080; Sat, 17 Jun 2023 03:01:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C19C6B0081; Sat, 17 Jun 2023 03:01:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F1CCE6B007E for ; Sat, 17 Jun 2023 03:01:33 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B4D951A0F46 for ; Sat, 17 Jun 2023 07:01:33 +0000 (UTC) X-FDA: 80911344066.02.99FDEA8 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf23.hostedemail.com (Postfix) with ESMTP id C73B8140024 for ; Sat, 17 Jun 2023 07:01:31 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O80ds2n0; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf23.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686985291; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=PiU1NtyFPSEbvOhCZ5KnZ3BX35S9qmAab0SqyUZ6Ffg=; b=pEubSQcJYV1IjPRwH5LOP75DpFL/C/QGHFgjoD/AZ4tQpWUNS8y+C+T3L9slbzAuJzgZgD q1ArluoN1b+D+PsTfgTp/UxGRmFoK5Vi2MWMTdF8yU/xUYrd1890lzx17XLfe+IBKzoo2W FWp28xVKFwanrzHKdxRsGx3x1gJVfv8= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O80ds2n0; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf23.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686985291; a=rsa-sha256; cv=none; b=JHRUWY9Szz0HusPAmtyNWTeImF2kVJ2cjcz6ZN8jmccZeNUt0Zz5IHknUb3t3uiVs185Sh dkxFzy3DE+gfJVeTGy6IuXPqOR6J2PRKJLJqZAVzJfEndLO73j8L4am1v0I3LEc7zTG5qu T8zwLoZgAlTSJ/792RhMt4oeVqA2gJY= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E156D60F13; Sat, 17 Jun 2023 07:01:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A65BC433C0; Sat, 17 Jun 2023 07:01:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686985290; bh=LCWiIYok7wPa8JmladBwxsU8b4TpZw2gc2yopJupTA0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=O80ds2n0w2Y27jQlNNmCw6o7nzBwcd9UpC4nb8KEUyV/0smDBfB8arZKAbk5uMHZ+ X4xEDAai66NbKfnyfwNibfI9I909mpdZY57Qt58iCT0auKiQEf+mZu1+dzdCcUw464 wVopteNc442cg3A8r+f0O7J9KMhAfX/KjC8GNwTGll+4y8ykPFHrGAAQf7Hdjyj3Ad /I6ZFYk6sW2FyN33DW36WSgFdQ6zLgr/CGdysRJJmEKw0YPUeDpSuG0tsaYXUCjvi6 5c1dhYMrPgHmLzPjV+2IdEhf/zGofo+y0FIRemQlLcefviGqX7jIyniUmHw7SbhKoH Rqm2ff7Gd9iFw== Date: Sat, 17 Jun 2023 10:00:51 +0300 From: Mike Rapoport To: Liam Ni Cc: Andrew Morton , dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] mm/sparse:avoid null pointer access in memory_present() Message-ID: <20230617070051.GU52412@kernel.org> References: <20230617044036.3985524-1-zhiguangni01@gmail.com> <20230616224407.863c74a3dc9d4f1427802f91@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: C73B8140024 X-Stat-Signature: h6aqn4h4ukexgah7koy4htgr1bp4ht9y X-HE-Tag: 1686985291-453973 X-HE-Meta: U2FsdGVkX19rGx1VcIFUNUepOlhQTcWYvZM8GLO16FHx1B0aCY2ldKzC4s2WOqGt5zP4dbriiJf5xezzWBwGJYNv332If5oSO833Rrb1V6hripO31qhUy2jiQgCss1riMXHBDlXz35O8zZAbJnmnpArYnDbOKl5/Z02T+mIsmJJxgi8CFjlJv2MMYKMihn3iZET1q7iSGxopCXZ4hmLpvFIPbahvohlP7bMoxd3Qq2ecqCoGe5UBFA1ZqaImBnub8XsmXQQIwXb0dlFCi7yo6jqF3JFzKVNkpi5D72nkVYjO3qaVKdyYpuu1/dFs1j/7IJHdxOqVmjAZkxOc0V7Qj0LqoGFgZAz9SYzfFlH0OPNj3KZswAslnfbkFijQrUi7xLufpwTe6N+IaeACkp8CzYSVOJYTqDW0WZdJLHHMhPgUea4fxfvxuXogdXqnGhp5pWEZ3OaY7yQXpYB1B816mo6ys61CIV7yrny7h4XG56VyLL94v+uuwv5lTAnLcm83erXhUcoNDFP3kTBqXjBPTy0nXWUx1XLWWcruHSgaTwWxMSylnwFilh9xys35ZLRNLvzOPtxrlAWlnvaxjKmojBi5HjQNEOEnUsBhhLMKCQY+OR5wOQeuY/nsjE8T+Gw+e5We1kuGFr22xeoc594hQYsl4mTXxrpFZjyxc5PoNPwrk7mc8NkNJ4GI/y5aBJ5142qgWk69EJAIa1Jq2xirSaUPnik7Ki6fBaAHkkCVIxWWiAU35ClNSkPonwPY6KCtN3iuoXh2I0hXvdjJSEMUUS3/xUXipqEKkKgqut3k5iydKtsDfVZ3DWPDCYTKnsviAIen+2UY0cvM+aGDWAH6p/2LIuzQGednQzYlBybgZFYvEc5QTiv3y/KhkhXRNA+qDZySt6uYPoOjUVC8ahJTQLg7YTNcCRQIUqhisHj4dOjTnXdeyKFJqF3z3FujSW6dhNyjqCfYzq60M97yMoZ K3Ch1C+u IHzkC5xueWuSB1Uu/lLxsC3/a3otG0+NqsZfMLaCVsg3FbVQE64Ks9vU0bPZF1bb/yXvA2yZxW5fa/mHHu6AdevyLCa/t9tHFq6KX1pb6IsaQV42JRAENqK4RBqNU5CFJExbFE1SV83v4ut540y1yXmpihsLXM250uXTa4/V/vsC17wL3X+/gLWaJNg0A+/SzoAy1NqB6VfgkrwtxAJI/WZtNzyounMLQ3OfJ6M25ivqhc5uDdJ4VpZ6sR6pBtnpJyB1OUFYNgk4k8j98wOdBvMIeaDtKu/dfxDqZUqQNMFLDdNxvKF+9fF5mdujFn8rZrg9O6/09D//MaTQE6Xa96jI0u7J04TwzMIEVQE+AeP52uW9gZnLCmAXsaC4Is1YBNAo3KqwGvRQ/MLt3aqzljjsNj7nAHwBfJbfE 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 Sat, Jun 17, 2023 at 02:17:58PM +0800, Liam Ni wrote: > On Sat, 17 Jun 2023 at 13:44, Andrew Morton wrote: > > > > On Sat, 17 Jun 2023 14:40:36 +1000 Liam Ni wrote: > > > > > __nr_to_section() may return a null pointer, > > > before accessing the member variable section_mem_map, > > > we should first determine whether it is a null pointer. > > > > > > ... > > > > > > --- a/mm/sparse.c > > > +++ b/mm/sparse.c > > > @@ -258,7 +258,7 @@ static void __init memory_present(int nid, unsigned long start, unsigned long en > > > set_section_nid(section, nid); > > > > > > ms = __nr_to_section(section); > > > - if (!ms->section_mem_map) { > > > + if (ms && !ms->section_mem_map) { > > > ms->section_mem_map = sparse_encode_early_nid(nid) | > > > SECTION_IS_ONLINE; > > > __section_mark_present(ms, section); > > > > I'm suspecting that if __nr_to_section() returns NULL here, we should > > just panic. But a null-deref gives the same information, so why change > > things? > > Do you mean if ms is a null pointer,ms->section_mem_map will cause > system panic,so we needn't change? Yes, if __nr_to_section ever returns NULL the system will crash anyway. -- Sincerely yours, Mike.