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 650DCE7717F for ; Tue, 10 Dec 2024 19:25:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CFB6D8D0012; Tue, 10 Dec 2024 14:25:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CABC28D000B; Tue, 10 Dec 2024 14:25:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B73A48D0012; Tue, 10 Dec 2024 14:25:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 936C18D000B for ; Tue, 10 Dec 2024 14:25:50 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4B119A0E36 for ; Tue, 10 Dec 2024 19:25:50 +0000 (UTC) X-FDA: 82880028420.13.B765F11 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) by imf20.hostedemail.com (Postfix) with ESMTP id A16CF1C0008 for ; Tue, 10 Dec 2024 19:25:24 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="Kat/r3kh"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733858738; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1NtCkjYpTzUEcQtUOoTZj6Gta+taIvsFh5ZGDIhZ+nM=; b=HQtv9K7y2WHg+EL99bJykynzvlEmuCK4ksHXsWnxYSwwGXUvcVeU6kqczy8RWCSQG+8GEg 3e7nmuL533vfN23upxTMuhzd659v8ljz613F5ao54tFARshh0ERsZx/qqZzpB4w9hojBWm yCgBW3WzvoMQVUyOS7nm6klSL8uZ0V0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733858738; a=rsa-sha256; cv=none; b=hNWN7yPSwxyvx3JL7ENKKM9RUCnc8Nmzt6gijjH74wOONgEOtgb3g+yUMSfRcHUoP2DIGx T03w/2SXOdeFcoKMd3rNdtPB8zJZDVRgilRGE4FesETmzLT0AnvYV5Z8i6Z1uuFEJBXDG+ nAphgR0qwfa81NqpVAhriWiMmdr241M= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="Kat/r3kh"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-6d89dc50927so40444856d6.3 for ; Tue, 10 Dec 2024 11:25:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1733858747; x=1734463547; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=1NtCkjYpTzUEcQtUOoTZj6Gta+taIvsFh5ZGDIhZ+nM=; b=Kat/r3khVc9Az0PDvpaiAwMPC5ZAWb+0Q94uMvpUe52EdWcFkdczhS+JdRWbMjIA+R diJaglEJrkT3WkjvSAK+TRVC4bXtoSo870Wi652QbCRxRtI8UGipVGV2aYkldDOBhRfG Pk/gxASPWeNKvwnaNe3sRdR6a58zGuH0hEmc8mLmmsOt3M9K1QMqVgukLE8RHqD9Q0xa KR2WfShEds0SyMSwMpDD0TvvYPrC76Dv4qfshlPaHP5cH30fByvo2yrMOl13+oNZdkbR 0WL7fN6L76XNqK1cpsJLYPkOXiiLxbGf+uZkJIiV8QmjzvJ/PbkpvHv52dViVJDpTWWa KEPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733858747; x=1734463547; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1NtCkjYpTzUEcQtUOoTZj6Gta+taIvsFh5ZGDIhZ+nM=; b=E0VrY2v38TZfQ3CG59K5dhmISIklKUrO9bLUH1AAXRorJKs1QW6n8Kj0AbVjcOszuL V95oFYXNszxopFqzK20RyKR9hx4ciCqZw+nLB+doytx0qWjvKa1yWqbInODyOoqeVkRQ SwOO6DsXR0PPmBQA18sbK/laybDeGkMCjSQpifB/Py7AaMO/3eabjsoohfhzaSquxoU0 snXHf8hBFPwY4ZDc0tAkBVlvjzEhuHEIkk9qqmzcUkZtbuVyzaDxnLnM0eOfbUPvpuVX o8wOJcMZ6jN0aivMLa2CRAVaz0YRjyvJx8LvVCxEMXvSEZRvu6F0Q/7HPDnDf6iRPcKW EMGg== X-Forwarded-Encrypted: i=1; AJvYcCUNDi8mUscR4Ksj+WwDajYjC0ge6y1PvzyGmhIWC5GRWtCLt/ql0eMWS+aj1Rk+9nKghjnNPklosQ==@kvack.org X-Gm-Message-State: AOJu0YxRbttA1P3vJyvfA/iz5oaI5+axkfkBOyT+JQlTeeT+XpQNvUe6 d1dghwh9Fo9E41BgJcKMv3I0te/YLc70BY/dYwkvAlffm9N/krui12C9LGggiJQ= X-Gm-Gg: ASbGncu3xOYbnBRRA5tevs6dZbITREbCShm0LZSsHt3A/0vqiYMWF4IG0mS0159QJPr l+NFmxuGnkDCNC0RWaBsB3Rzxd1xUVJhF8bcZGS/tFe9xiJ0aVBpDc4vyfjRPXq1ppB6adeEHRy BeBha9SlZBrFYjNEtBJKMvyo+5D+S3IWD9mK7Nb7a+N+DopNQpMIPHWd3lEcq91tG0hlSZr1373 VbXHyjWjIpRMhnVZRZ7j5akj7zL7ShJ7+xEYpRHNuCANzqi8MlM X-Google-Smtp-Source: AGHT+IF/PTmpj9i0eiqNi7DD7EhCR9J4pLF5hz9u4sVHQ4rKtXJ+Bv6P1uvkZZ4zn3fhHcXYYjzUQQ== X-Received: by 2002:a05:6214:2488:b0:6d8:ab7e:e552 with SMTP id 6a1803df08f44-6d934bc47d7mr3204126d6.39.1733858746985; Tue, 10 Dec 2024 11:25:46 -0800 (PST) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7b6c3591a10sm392911785a.129.2024.12.10.11.25.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Dec 2024 11:25:45 -0800 (PST) Date: Tue, 10 Dec 2024 14:25:41 -0500 From: Johannes Weiner To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Vlastimil Babka , Andrew Morton , Zi Yan , Yu Zhao , stable@vger.kernel.org Subject: Re: [PATCH v1] mm/page_alloc: don't call pfn_to_page() on possibly non-existent PFN in split_large_buddy() Message-ID: <20241210192541.GB2508492@cmpxchg.org> References: <20241210093437.174413-1-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241210093437.174413-1-david@redhat.com> X-Stat-Signature: p8p8rexbwp54kes38s6dnpymanjesf4k X-Rspamd-Queue-Id: A16CF1C0008 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1733858724-138028 X-HE-Meta: U2FsdGVkX18NJ4Wx1RQGyE9IWok1GsJfLQnF44RnkKKGmucY2ZgZyOJ4hRzGSNSPF8/UeJJvuH2JWPIW5t9vygMceRxay+rcPGLDLw6iAVNvlejel/+dT9nFRUvvburAqAIhSQHwI+3a1x7h6xzWn3ArnfWnmwbdPpGTyfezs7ZxkioYHoYpcpoZpBsfYYo29R/XOiYakyq6iR6Gus3OSCsPhWLC+titAWGvqwz6DS+Dr8ec9sq4GeGkYTKXbPc0NTmuxnjYFEPtUgEw6iGtBufG9zw+1pc9Bu8FVHhKr4rtLEucbg6QO2KCJ1KIVAvIdheuhJR/aPFjhw1FJbnvMHpJxj3JfJCoM5kc2QzSTEpgiIyQQL8yp9BsYckmAzG7FiKs+kKL9HK6nguRvquEoLuCawMm/MyKOCuhWfwyllqRZSjEyy2DxOAEa4f/dQpx0nXgWREwuo/tKC34xKX3NM4WVAWOkZR/kB7ScaPA1flIUhFk0QleiioicnnMqZKHjsQKO3QxloX4yu8suSdFBZRwEHkXZjqxcxPqtya9oCQLTllfv4fLuzyXbr6wSyEgmygJOy8A0DWuaAVwrmjDlna1wAjz7Sa8xJbIoOh9spty/eCITgVqPL2lAj6EPvo2N5UxMYUQrUX+zPKz3m8OLvebIEd3wnZ/+x/ejaJ4FkU3KqmrGk9u6ubnLG/F/XqA9aDoN8NUbhrjKNVWROorpdhUZjMSoJmksytZ1SpicWEW3ug0OSSRQMN/j6iXLe6+hesCqqPkOEFAc7SceMNgiTm35mwXthOPJIUMewd8SdGevbUmQWlr5Vp9qoNM0+i9mW4bN3T3yg2eGAv0b4tR5GnD3RWGxZWCRhcQHf9YO5Zzzcueqm+ujq4Mkp32usYY/lINQvb80CSC4U5290eThXyJHs+Ga7pz2v6bhuuqZeYCAwZAWDO3XsPWPoSNF5h5Q8K2DZavDf9ASfRecrG Tofcut3Z 0AhDP94JrL+Um5LgPLYi3hvmiRL17CSNfDkTBeyQIMIWEwEd43UHaNFW6gNx9s+0JFnGUKRaivto9z66gpXCoT9jgO3PXn2UTI/4T7/+i/9F9g7yLqwxkGrUGTSWegVJnAxmvY7N3uz3pqJkvBLsw62DpoqqnmZCoyfJLVzeQtRpaVbPLtx7Na1o134Lsh/dOV989AZ3GD85LXw7kCOkzWOiumTJwKZGTFOaz9H5Coo9jRB1zvD6aWu4z1oX55jkU+Eimg8qTIHq4BmX9KxxJR2PqSUi91Q0U1waaL+zOPZOyvV6/QgeOXdzfhipBf6M/8AkxFuE2aHV6a74ieEwckyPR7CAizPwQyg31JBcJT9g7OM1GJMbNCBl7U5SxUz3VtTCHgWqPKeDOR3PzOOAALw7+HdwBsI7ZknFVxDGzA0E/lPYN7j4mEpi4uIq/vJT4/BblYWOrX9rfEzRYfYeZAqgRpaDB9qnXRYgISNmHwyYSYU8ZSA8NyKeorRXNxMukBCBaW4TKBWmA6VOXevIZI62DiGXU8vlSgE7Ip4NsFHGbXeIYpQtHIhOtM3Td7ySAKnFDWY0Gy+Ru8A7yDKJAOmxVQC6hoD6Xxuzoo4PuKNUeCUV8b0XMOMd5YDTIT2VjXHy2RtLVLZFEFjVNelg1h2H3/5lcz8CIrXwFG9aWyY8NNrg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.176953, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Dec 10, 2024 at 10:34:37AM +0100, David Hildenbrand wrote: > In split_large_buddy(), we might call pfn_to_page() on a PFN that might > not exist. In corner cases, such as when freeing the highest pageblock in > the last memory section, this could result with CONFIG_SPARSEMEM && > !CONFIG_SPARSEMEM_EXTREME in __pfn_to_section() returning NULL and > and __section_mem_map_addr() dereferencing that NULL pointer. > > Let's fix it, and avoid doing a pfn_to_page() call for the first > iteration, where we already have the page. > > So far this was found by code inspection, but let's just CC stable as > the fix is easy. > > Fixes: fd919a85cd55 ("mm: page_isolation: prepare for hygienic freelists") > Reported-by: Vlastimil Babka > Closes: https://lkml.kernel.org/r/e1a898ba-a717-4d20-9144-29df1a6c8813@suse.cz > Cc: Andrew Morton > Cc: Johannes Weiner > Cc: Zi Yan > Cc: Yu Zhao > Cc: > Signed-off-by: David Hildenbrand Acked-by: Johannes Weiner