From patchwork Sat Jul 15 03:28:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miaohe Lin X-Patchwork-Id: 13314370 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 5E39BEB64DC for ; Sat, 15 Jul 2023 03:28:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9E066B0071; Fri, 14 Jul 2023 23:28:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E4E766B0072; Fri, 14 Jul 2023 23:28:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3C556B0074; Fri, 14 Jul 2023 23:28:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C73D36B0071 for ; Fri, 14 Jul 2023 23:28:04 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 98BE5C034D for ; Sat, 15 Jul 2023 03:28:04 +0000 (UTC) X-FDA: 81012412488.30.BEC0022 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf10.hostedemail.com (Postfix) with ESMTP id 62B97C0003 for ; Sat, 15 Jul 2023 03:28:00 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689391683; 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: references; bh=KRVLBcG9m4yYhiMB9t/2G/o3r3KkJyScUmCMgyBmalY=; b=CVUyHGmVbJ6E4b5IcDdZVzRU0iVa25UGp7Hgy1icsKtTrwxx8TWEdB0pKTRzmD5MBlYx3E oq/V/sIPTXygjag26RW+wULxE1wNjP9qoJnWJIl0mX/gaaZ4UVLCgLrd8qvSKnDcq041kM S/12LmpcGXaVBwDm0528wn8EL3K5pzc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689391683; a=rsa-sha256; cv=none; b=id0jA+UOpVCnGNkQS6GHXpBzCLgQPHpxlQhFVsZs0feCMrIIrxo5CH3+P1955gAtsm0jEC OEC+yW5tlgrwtUfIaP2cacx1fsJg1uQ7+xt2BFCDqLCmiQB1/G6UzMeCqdJvT4FY+Lgdp5 bmc1zJldy0uURx9cHzHEld2qUh0KBLc= Received: from canpemm500002.china.huawei.com (unknown [172.30.72.54]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4R2tyd5zMGzLnlZ; Sat, 15 Jul 2023 11:25:29 +0800 (CST) Received: from huawei.com (10.174.151.185) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sat, 15 Jul 2023 11:27:52 +0800 From: Miaohe Lin To: , , , , CC: , , , , Subject: [PATCH] mm/memcg: use get_page() for device private pages in mc_handle_swap_pte() Date: Sat, 15 Jul 2023 11:28:02 +0800 Message-ID: <20230715032802.2508163-1-linmiaohe@huawei.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-Originating-IP: [10.174.151.185] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To canpemm500002.china.huawei.com (7.192.104.244) X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 62B97C0003 X-Stat-Signature: y9fgn1ggi5kn7q78ohempnch95fywbb3 X-HE-Tag: 1689391680-449383 X-HE-Meta: U2FsdGVkX1+u9Gb3w5cdaaPjzf4o4ZrtMFmKsbOc+wpKvkE/LIr5RwdpV+be53+JMlD6aPUXo3QYWPAoaFvJ3Rci2t9uoIu8+KpKS7DK/AOtprRiQ4tPi2AluQl5O4awpJ58NfCnHrBlDlML/cuUxOyHyTVfyUKh2zSf0zeg2mrk6e2dVfciwV7o6J/nPbAdqear7REbUBcZQvO1iTSm9vx/ZxM91HIQIQ6KK7I/DdyemYT8VweFG5DWElmHFVAHm3S23aTAQL2SaSzTPXcTMgBnxnIS3mUXRpsPrhSghsz96WzOvI1lKFsGLGdCmUWA4PZ+b5HUx3k99QJk3gPYCPTcKXDICxVjvwiedL4W6qSSW3QQyOtt4+mfEJXBrONQMTtCE6cD9kRws0IhsNVlmYhiyS7JO/w1fLx0wlZuvDJLZllX91KF3J2yVHpvh2Ca/AVeXZ2Zv5h89ZZHR7OKQMeRQZwphvhHn0xUPn6sro1g/uB0geyKIt6CPaojP4DICtih8Fj98JhugYf7kj8UX4uwDasgMfwGhq2g9ESAO2GJPIlzFT/CeDuFnonsjbhsGovPo6qkyVNMn4B4Xz1Xc8jxCgeV0yL6q2pnhRoHKt3YbZcP/J8H5jB8uN84zwlkw9Owt9YQimJnA/XrrwtwmUt4N9QeHBG2U3d3TNjbbHUYlDw3YUi5iQ4aGJxCD6D6eShM0VV9yc747Z8qGWxGZJSndQKWR0nrUWSPogo7+loS4Ni+ys9qwEo4/WjQ6YKIkwthAqA8o2z6cZgaRdSv/1cYy1AVVKc5zo/h2frIyv5CFtMCfyyIaO9zpu2T6IgKaB/qhgfe5basThW8m0SSWBbyQAEI2tDtxjPBYqn8Ywagu/eIHpjs+rjYlFys6ew0/tYohfHY2osR/7EvT/Gn51BNJoPhoThJi3cwtruRbgZBtVtUWRj105eSZJTfQHPiAAvIYKFN0dQOTfA6Rs0 5z14PXoC +0LVSVq0C+k09usHZ/es8g6veHgk3LQ7CmgZUq2JxCYaQE08CKiyQALqbtUzuqRgIpfYqRPzRyK1ZvnZKgxXbROKAXHSmwsvWrrC0qgjCsgqPHr0ymNU9Fki7vC1GnFueUB0JCDXevWBSXC/1Ej9P95V7tXX08mJJ/BP4yFXINOBKXCGTA9wdrT2fROycqkgafngDustVoxNmrrnYKNQirPB1pw== 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: When page table locked is held, the page can't be freed from under us. So use get_page() to get the extra page reference to simplify the code. No functional change intended. Signed-off-by: Miaohe Lin --- mm/memcontrol.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 93e3cc581b51..4ca382efb1ca 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5670,8 +5670,9 @@ static struct page *mc_handle_swap_pte(struct vm_area_struct *vma, */ if (is_device_private_entry(ent)) { page = pfn_swap_entry_to_page(ent); - if (!get_page_unless_zero(page)) - return NULL; + /* Get a page reference while we know the page can't be freed. */ + get_page(page); + return page; }