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 A26F5C636CC for ; Mon, 13 Feb 2023 22:56:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1D5B06B007B; Mon, 13 Feb 2023 17:56:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1858F6B007D; Mon, 13 Feb 2023 17:56:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 025AC280001; Mon, 13 Feb 2023 17:56:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E3A0D6B007B for ; Mon, 13 Feb 2023 17:56:32 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id ACEAB160ABB for ; Mon, 13 Feb 2023 22:56:32 +0000 (UTC) X-FDA: 80463779424.24.8292E0F Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by imf26.hostedemail.com (Postfix) with ESMTP id 97FD5140011 for ; Mon, 13 Feb 2023 22:56:29 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=q3bUO9rI; spf=pass (imf26.hostedemail.com: domain of m.szyprowski@samsung.com designates 210.118.77.11 as permitted sender) smtp.mailfrom=m.szyprowski@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676328990; 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=3uGqnh8Fg3IlLVKKnHbinZCsHQlkIhu94s7QA48g0YM=; b=J/AZa+McDIh/5SCb6CQE582N0/3nDRsaKpoWtB2VZZWDzR3bPwdI+SLqnz6KupRH2TKoCN J35gZVlk4DyFgS6ipaTdhEKCsqsIBS1kRJW0jz+XM7akdkDPb432j0yfcar5qQuWi+QZu5 FDm2ZSxWjUAwDMbi7iKvzjTiKYwwm/k= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=q3bUO9rI; spf=pass (imf26.hostedemail.com: domain of m.szyprowski@samsung.com designates 210.118.77.11 as permitted sender) smtp.mailfrom=m.szyprowski@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676328990; a=rsa-sha256; cv=none; b=ILnu97eBYkYYWuIjW3Gt2h5IkiCgphxAfFC4X1bPPpw6fxLZCSYo9v+N5voOPZboIRCDNi GA+iPBiqZ2Wjaoy01x9P2sYouGdVfpkNXuoidtmzResSsQzkzib8El4Hr/xLCk7vYvxjd6 89/0wBCoRuX1RRVLT7DMxRhOakamnqg= Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20230213225626euoutp0137582b23da8155c0feb83a613a9ea66d~DhFTbN7_X2483424834euoutp01B for ; Mon, 13 Feb 2023 22:56:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20230213225626euoutp0137582b23da8155c0feb83a613a9ea66d~DhFTbN7_X2483424834euoutp01B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1676328986; bh=3uGqnh8Fg3IlLVKKnHbinZCsHQlkIhu94s7QA48g0YM=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=q3bUO9rIR4lBleEjygbkaBtPyWuzArnQZh9SoXlRCu7vHcEuxOTPZCFlPOQgFbXjS oSr0R45gU4qwQbeyVfLe74U5aZ8reARTNf4TzWSQhg3mTsHdjP2SUYL61uiYlVygUU rcYISVyb6Ds1bKyRIV/MqeI+D+0ZGd8tpBCgZUkM= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20230213225625eucas1p2cea7cf9775a6b479c6a1efec5a7a968d~DhFS8ckrm2007720077eucas1p2Q; Mon, 13 Feb 2023 22:56:25 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 27.A6.01471.910CAE36; Mon, 13 Feb 2023 22:56:25 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20230213225624eucas1p2423271c5e35711bc2feccfc7797e1313~DhFRuyFHt1987319873eucas1p25; Mon, 13 Feb 2023 22:56:24 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20230213225624eusmtrp2e0875261eb12144adabfd34ee877ec65~DhFRuQeOq0627106271eusmtrp2n; Mon, 13 Feb 2023 22:56:24 +0000 (GMT) X-AuditID: cbfec7f2-2b1ff700000105bf-58-63eac019f1ec Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 9F.33.00518.810CAE36; Mon, 13 Feb 2023 22:56:24 +0000 (GMT) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20230213225624eusmtip190d1a090229526c446f9dca17a0fb0f4~DhFRXmCs90053000530eusmtip1_; Mon, 13 Feb 2023 22:56:24 +0000 (GMT) Message-ID: <3d27e26e-3f76-4b2f-ff5d-6576da2ab406@samsung.com> Date: Mon, 13 Feb 2023 23:56:24 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH] mm/khugepaged: Fix invalid page access in release_pte_pages() Content-Language: en-US To: "Vishal Moola (Oracle)" , akpm@linux-foundation.org Cc: willy@infradead.org, alex@ghiti.fr, linux-mm@kvack.org From: Marek Szyprowski In-Reply-To: <20230213214324.34215-1-vishal.moola@gmail.com> Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnleLIzCtJLcpLzFFi42LZduzneV3JA6+SDfZ81LCYs34Nm8WzO19Z Le6t+c9qsX7fDVaL3z/msDmwetw7MY3VY+esu+wem1doeWz6NInd48SM3ywBrFFcNimpOZll qUX6dglcGUe+HWIu6OKreHLPs4FxJ3cXIyeHhICJxNQlG1m7GLk4hARWMEp8n7WQGcL5wijx b/J2FpAqIYHPjBJLFwjDdKyYe4QZIr6cUWLCHi2Iho+MEt8WzwFr4BWwk2j8fJsdxGYRUJW4 tXYnG0RcUOLkzCdgNaICKRLTO2cCrebgEBYIkWh/HgsSZhYQl7j1ZD4TSFhEIFDiyhl7iLCV xMkz7xlBbDYBQ4mut11gEzkFbCQWve5hgaiRl9j+dg7Y/RICJzgkZl//BjZeQsBF4vy9YIjz hSVeHd/CDmHLSPzfCbIKpL6dUWLB7/tQzgRGiYbntxghqqwl7pz7xQYyiFlAU2L9Ln2IsKPE vq/zWCDm80nceCsIcQOfxKRt05khwrwSHW1CENVqErOOr4Nbe/DCJeYJjEqzkMJkFpLnZyH5 ZhbC3gWMLKsYxVNLi3PTU4sN81LL9YoTc4tL89L1kvNzNzEC08zpf8c/7WCc++qj3iFGJg7G Q4wSHMxKIrzCT18kC/GmJFZWpRblxxeV5qQWH2KU5mBREufVtj2ZLCSQnliSmp2aWpBaBJNl 4uCUamCy+tRmNvWC62bFNWcP/o5m5PirzK3oKiBsrX9hyYNa75MX7H4cXWuR+1hDlE9yZ4+t gxfz/RfzzysuY+U7+5NN9j3Ltn5Br6QpIuXLav0fX2B9qCv950CQ6Usfudj9bXvfGficXCC+ Ip//RM/b82krXSPKv7py8FdLPjgiGb1bWENh/58uJ4XqY+cjOSa0K5WGr447XiJ3OCBAckKp qN7kPIEPU62+LnsS6Hw3NS1msq7Xo8Pigh+f6XNceTZlTvzfmrvNEuuWfEw7MJMj8c7SfOuj h70bGx9af7x0YZ/FTgZB20f3mHqzpxo+nm75sTmR/fPR0/wHbdZsm310Q6FBajnjmcsff181 +jRrculrJZbijERDLeai4kQAXOMj3qIDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsVy+t/xu7oSB14lG+w7IW4xZ/0aNotnd76y Wtxb85/VYv2+G6wWv3/MYXNg9bh3Yhqrx85Zd9k9Nq/Q8tj0aRK7x4kZv1kCWKP0bIryS0tS FTLyi0tslaINLYz0DC0t9IxMLPUMjc1jrYxMlfTtbFJSczLLUov07RL0Mo58O8Rc0MVX8eSe ZwPjTu4uRk4OCQETiRVzjzB3MXJxCAksZZR4/baXDSIhI3FyWgMrhC0s8edaFxtE0XtGiW+/ l4IV8QrYSTR+vs0OYrMIqErcWrsTKi4ocXLmExYQW1QgRWLXuuNAgzg4hAVCJNqfx4KEmQXE JW49mc8EYosIBEqs37mFHSJuJXHyzHtGiF39jBI/358FS7AJGEp0ve0Cm88pYCOx6HUPC0SD mUTX1i5GCFteYvvbOcwTGIVmITljFpJ9s5C0zELSsoCRZRWjSGppcW56brGRXnFibnFpXrpe cn7uJkZgfG079nPLDsaVrz7qHWJk4mA8xCjBwawkwiv89EWyEG9KYmVValF+fFFpTmrxIUZT YFhMZJYSTc4HRnheSbyhmYGpoYmZpYGppZmxkjivZ0FHopBAemJJanZqakFqEUwfEwenVAPT pNalTw09ah/9zt01qyVnunft3XkSM9jSJBkDT8T17ltR299x/Hxv1e4HpTNzN5dcmZz6K1TN aEK98cHSTybuzf9ZdNf9rDvaqMh92ObYz/KHjLwJofxTVu2bvy1ETbd/0vt5k2+sK2nUCFfT smCxedBtrigu0LDz2gxNtrzfwspnDoZwMDA1pigkz945yev/a817i/4KyE5puRxq8iYybH+1 Rkahl45FrnWz2OOTm9U/LvRi7XplXHb020290IXfF/BGez2su6iYfEA5oOXh13Wycmri3Dd1 L6qfKHON31AUKX36i611gfwvoZJaRktXNf5V7NN/Rcpbbz3dIHEmUamdV+uvC6tz/BnGx0os xRmJhlrMRcWJAKKGfps4AwAA X-CMS-MailID: 20230213225624eucas1p2423271c5e35711bc2feccfc7797e1313 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20230213214446eucas1p2630d6c5cb27183f546c2d9561d99b00a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230213214446eucas1p2630d6c5cb27183f546c2d9561d99b00a References: <20230213214324.34215-1-vishal.moola@gmail.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 97FD5140011 X-Rspam-User: X-Stat-Signature: 8jypur9cwfnfdkqineh7wghwwqt77u4y X-HE-Tag: 1676328989-246593 X-HE-Meta: U2FsdGVkX1+rJHf03nTaHUKSOgL9DH6dcn4WNJoMYXqxQ3mKJiWxJWH4H4q04Km16tciYgrhVeeGypRY4x1gPSHhu0U3J4yIrITZB+QMJyTKR4cjIblU9CKnzf81Bm4DowEbC8ZRuqfMfChOhWrJ2eLgf23ypxSUpfirxfDBVy3N0w+AFYiKW9SUxLi5Jx+MljumT1pt/tYHDSA4F+TWvasjU4RwbJUe4IRei5t5Ix7wUtizr+3nguT1p/UVTqkd+QduxrOOvtCHR1JaZYMizKn1L26c/GzJOTNNmmBoVgd0n4ZZ9WK8SYn60VIWiug1Yu2Crh/iK5QNAVLZXv0Zj4x7gZ0mEibEru+JoQnZ01J4gmudDR5leOEcZ2cMcKRAD04Q4Z/R1ky9lBFDxpawoNKkOKEeMs8QPSe51nN894O6J5YybJ6vD0+BVmzMyqY4wDg2ovMJdWsdOIr1UPEyuCJz94FROFnB4MTFWmsO0dkY8TIM+J7mlI94ramF8sT1pna1NRPbErtVvdRXKGh+SJkswn0xZdSRURz7/xkfIL2v5a0/+3tiiDuQEdr9Ua2nzhXSrJRk4SfTuvVXwBxTgxVhD22fOBwRR/S0hyDnbVeKiHqko3g8Y4tA4NksjQg3kjMfhQbKvWQFRrz5IJlkXlxgEiDzAaw+/RNl6rH/o+rsiFvAJ5XKaTxe7Vo9UKQ2CShC4xzndGZcmbzSMUVZPyNZE9oaOSWPKVWKaB9rJrE0/VxCAsbE4uJnrCPOVb+HiFcaRUHEJ86PGgLoXl3lJd53MnyKs+Va8nY2j7sn8eF0ol6cnSiiYPn0yp1lQfNpQ1T8SsFnP4NBza+ZMysHRSiUw/275mVEJcOqpwJvwx2zyqUYVAq1EYM2fV0WmjMfAE+5Yh9FWTqoBXy+NeUOqV8fTwKUmkPE4UtOIidyAH9EP40coEZ0Pr3t30oyseoY5j+hUsdcsF26N6qGsOc nRKt8ZTe P0AFfgfSNHLeJoD91Aw/9ooG9U6hRGAALaQ1DUNRFySdW6GoH7JFj5bLtc8MTqWp1ftSJEwbIoCl41E56aMUOHe0ZQC4CxdRcqVcnE5JySTWO1oEC3KAYyFLL7cCaNUKq9bCcbPuO9gVMRxBNrtpsoDFtlDSIybhOpp+P/TVHLl3usbl0XN/1tr0pkRw+Hw1FAtgQym6a+1YGP7FvrOhoYobpbp50RLdFNuJQ 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 13.02.2023 22:43, Vishal Moola (Oracle) wrote: > release_pte_pages() converts from a pfn to a folio by using pfn_folio(). > If the pte is not mapped, pfn_folio() will result in undefined behavior > which ends up causing a kernel panic[1]. > > Only call pfn_folio() once we have validated that the pte is both valid > and mapped to fix the issue. > > [1] https://lore.kernel.org/linux-mm/ff300770-afe9-908d-23ed-d23e0796e899@samsung.com/ > > Fixes: 9bdfeea46f49 ("mm/khugepaged: convert release_pte_pages() to use folios") > Reported-by: Marek Szyprowski > Debugged-by: Alexandre Ghiti > Cc: Matthew Wilcox > Signed-off-by: Vishal Moola (Oracle) Tested-by: Marek Szyprowski > --- > mm/khugepaged.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index b39ab219d5b7..bd54b957f69a 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -511,11 +511,17 @@ static void release_pte_pages(pte_t *pte, pte_t *_pte, > > while (--_pte >= pte) { > pte_t pteval = *_pte; > + unsigned long pfn; > > - folio = pfn_folio(pte_pfn(pteval)); > - if (!pte_none(pteval) && !is_zero_pfn(pte_pfn(pteval)) && > - !folio_test_large(folio)) > - release_pte_folio(folio); > + if (pte_none(pteval)) > + continue; > + pfn = pte_pfn(pteval); > + if (is_zero_pfn(pfn)) > + continue; > + folio = pfn_folio(pfn); > + if (folio_test_large(folio)) > + continue; > + release_pte_folio(folio); > } > > list_for_each_entry_safe(folio, tmp, compound_pagelist, lru) { Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland