From patchwork Wed Feb 26 08:25:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shivank Garg X-Patchwork-Id: 13991769 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 C1B9AC021BC for ; Wed, 26 Feb 2025 08:28:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F76628000D; Wed, 26 Feb 2025 03:28:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3828A280007; Wed, 26 Feb 2025 03:28:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D32E28000D; Wed, 26 Feb 2025 03:28:08 -0500 (EST) 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 EDE46280007 for ; Wed, 26 Feb 2025 03:28:07 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 710EAB273C for ; Wed, 26 Feb 2025 08:28:07 +0000 (UTC) X-FDA: 83161418214.24.2708453 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2042.outbound.protection.outlook.com [40.107.212.42]) by imf09.hostedemail.com (Postfix) with ESMTP id 7F23B140005 for ; Wed, 26 Feb 2025 08:28:04 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=cgGaffP1; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf09.hostedemail.com: domain of shivankg@amd.com designates 40.107.212.42 as permitted sender) smtp.mailfrom=shivankg@amd.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740558484; a=rsa-sha256; cv=pass; b=0WsYqm3mVn4W57qOiedXghob4G4Cmw73zd22zwiGT070lvBaDVIWa8MKYVr3USsDRUi26k civODWHugpHAaMgjRQAWzbaorq1zKedrYcqm9HJy1bzOqZrsIRFD5YmtUXfCBuYP1jjLzA UwvgVs63aT17a9acRHcI0emLCMQZK9U= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=cgGaffP1; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf09.hostedemail.com: domain of shivankg@amd.com designates 40.107.212.42 as permitted sender) smtp.mailfrom=shivankg@amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740558484; 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=1WyTv0vp4UZ22UKY0LFCu3N2m2jNLLIInwMWjCShJ00=; b=KBxDc74M+nnLOJyH5YjHgCbQqLfmsvCpwUor+Kc0i7dMqi2u145jM5bpHkH+rEnMLWjNmq pLIKZQmYYaZUxgyJqiHb3DU+D7OpMNLiAdJofrLtBFVMKJbPyFgnlZ6Ia7w+TlMoCYNEdY H9fMWwsmOT6we7ptdTiKSanojqZ8RqE= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BlnKg4aE+C99Q6rbMQ6CpREBlOxbxy2P1jKuIP3mMmK19n6t4mJaVghn55A831N8z60Kra3BsUAWfyAPwxSNv5cLN35Om9MtEEgQLofv6E0r5rS7xKkbkhidFL0BokDRySUxid9lVM3V6wP556Cw1M7TsbIw/9Oa1rUBtIslfxFa+cM8KtH4ioenOsyoTQjNXJsGpQpEJphSrGwWmyNHiW6hIksfXvWffUMGndeAD7xD/rqgAY4x+qdh0PgMu5I6/PyIDHdNbLUv8/ieTgp7lpJQbCGnmkf3hsjGjYD8LF6vxXfINI6phuiBLbFHUdDqpa5UMPyxQyE7DTmrpoIRLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1WyTv0vp4UZ22UKY0LFCu3N2m2jNLLIInwMWjCShJ00=; b=mBYD2V5s5JUMq+UfpQpRzVRBhbdGUM7+MB9u73AoyXZ/Jj6EkPeqgvISkErvWhHq82xMxLLabBQU5LEaEa5NA3Kj0sY2gNJVk1Oq055iuclPaCUSEGmSel1Rm8VfdAjN/YNhxfWfSuTByQ56Ta52Hg1r0xZIC+MNiq9c1AKTykSJgJiNi2I0y4vomdJamkd35dwbPpjWI2+g41WO6IlouDyvNtiw4mmvg4H5M2MXlrjYyPl5Orw4/2e50EODmcrQSIWkSFWZ9Uca5wasJ8bMAIgkHjWU3QckVuB2V2ou7QTNyg1ORPjPLvyy+FOFZIsbcJYBN8g/8MPPdNYd9ZP66A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux-foundation.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1WyTv0vp4UZ22UKY0LFCu3N2m2jNLLIInwMWjCShJ00=; b=cgGaffP1T7yFmctWa6TRZzVlzZqCbBgK4Oc1JEzJTNmqSRHvZa+2VVky1HKSiSDltVbWPJNNzK9wPl5lTM30Pknb0Wmj9+BnhVyhBEOMt78NpUl30NhQh3PdiEqbcDX6BjWkw52AMnOURqM6lAavZcVl4fmSu5aK6Eg/YcAi4O0= Received: from MW4P221CA0027.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::32) by IA1PR12MB6554.namprd12.prod.outlook.com (2603:10b6:208:3a2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.18; Wed, 26 Feb 2025 08:28:00 +0000 Received: from MWH0EPF000A6732.namprd04.prod.outlook.com (2603:10b6:303:8b:cafe::73) by MW4P221CA0027.outlook.office365.com (2603:10b6:303:8b::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8466.21 via Frontend Transport; Wed, 26 Feb 2025 08:28:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000A6732.mail.protection.outlook.com (10.167.249.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Wed, 26 Feb 2025 08:27:59 +0000 Received: from kaveri.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 26 Feb 2025 02:27:52 -0600 From: Shivank Garg To: , , CC: , , , , , , , , , , , , , , , , , Subject: [PATCH v6 3/5] KVM: guest_memfd: Pass file pointer instead of inode pointer Date: Wed, 26 Feb 2025 08:25:47 +0000 Message-ID: <20250226082549.6034-4-shivankg@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250226082549.6034-1-shivankg@amd.com> References: <20250226082549.6034-1-shivankg@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000A6732:EE_|IA1PR12MB6554:EE_ X-MS-Office365-Filtering-Correlation-Id: ad1fa95a-32fd-4440-18ba-08dd563f7a5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|7416014|36860700013; X-Microsoft-Antispam-Message-Info: OSGqGahFyD0sT0ar6t/pUaeyW9elVLCAGqI6U7Tk0IWjFb3PP1pjbX/DsR1NsQUbSx6DpX5H/LQ76FL+3fW5MVjd6oOqqYY+8gKHYGp/YKYgdtq203GfDw2LhZt7h6uYNJWLgFYzIz4gpe2ChCP1qT8WazA/C+EYmKIIjaq2AEoF68ZuK5BdaQNo6tDJyh//AnSDrcm49u5jsvv2LfnG66V/8IXGghGqHzKR8vR/hioo+pzNDSrGgbEmyMCPcm1oBmwYB0I6ilP/bT+7XQKzE7cMrJTDFeMwbycQWlk/TsRVf9diPeX0NaNQXypaVAms9JuNZSlWc2fRI+OWB/lM+6prLq5mWNTd5oxDYsR1WeX1T1mUhXXhuNrWR0WT+cqsrrJwL+98xgAj25Zz6A9AitrItU4G8UMjyzqnBcNSyGf2TdWyK6+0wiUsr1Ccmg1FcVOrvpcM2TgbM7s1GLT7wnLnjemDZ4moP/0QT6zaGiMqLpKuSUpfjabnZhs9N8QL/aZho1WhRVUK0yff8xlmpCu8WgQMmEC9YqY57FrAG7vZ7YD38wxlGVvDdk63mZGnnC6NOtlwo+MaLrZBXG2d+mombHSqvssy+CVuFTx2GsZk+d6vW+75JNSujLoZmZwz4/bEU6pyfSzhX7EjD9ALfKFRcxhSurqkfAbLJVRi9SuFpRyyCpIY3JTiD4vuMDBTOAf74882bTDMUcoqyZ+3f/Iuan1fDRtDZfjSiZPPGVsOOOLnY0TdrTzcA7RZ8T7It5RL/gBdSfPPOelejOQp9qQLIr+M0O7vFPpGTTV7fMBO3aCqyPNrT7Q6R5qoyKqaACq2GLifEH9W0Lz80HC/bDLSHZae1eyMY1YNwPoolcU+3EbahXV+JyUArjNjBzLmkoVPfw8FP3DtEZIgDiKT2uHrFg/7taDbtB0Wd6dZUT5R97bFb7rfjnK9748POCrEX8LXcSn0S9vzsdG/haoc3lFqcXDSbCT53pf/uacf12akTqjQIa4RPwzOpHiQ0tGGmKevCXpQOJ+Q9iKk+dxS4ubFHrsLaBdiHgKe11LaCnqva4mpPQ++pwlrhifDmT8NkNtBPdwMFbSzSh2pPtjs8lopb+JJRzL5oZbrjC5p2AeufOtA8c41pChjODlidrFkxYtFBOmb+OVcG08MfBuHoA1xBkdcg0n6aAgp3s4HjSeMXmr4oLUxG+sxRgHk5pj+2HTMg2nRneswKahkhqif+BOfQagUP7Sq7y9aVIrpAh6u66yu3smRcwCxf/fKR3n9IC30pOjCSfQm1iOvExCHf5DeOMhavRfm/eLH7Oa+ZQJ4Nf24B0rlslQfeOjd3thy/b7nri3hYZsdCVON7/zKARKA+Iq1KAbzn69kMit1XlEBas16cJiySOLFmfB0yDXY5ic4y7LkODNCRqEGobmJfT5V7Tc9W2Lw86D6ufsTqeLBGW1nAshDaZXu0rJevVa4lBI5+MCixfY7A5wamU/I1cs1KE86QUj4Ee/K3x0Oyyw= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(7416014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 08:27:59.0856 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ad1fa95a-32fd-4440-18ba-08dd563f7a5c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000A6732.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6554 X-Rspam-User: X-Rspamd-Queue-Id: 7F23B140005 X-Rspamd-Server: rspam12 X-Stat-Signature: j8ey7ouaaourunwa17skzh4kw76ffkpa X-HE-Tag: 1740558484-734216 X-HE-Meta: U2FsdGVkX19h5jWn+c84kufADBqe28tm1MU1QxMyExdUYq7Bf69opVtmklo2zgrFkXmkfh5AtdFLAx73+/44GyaKz5iULXQKQrzXZ4XHM6v8cy75q5sspTieLrSBorXdoXdy8VfnjvtbLXhmSkXrThwIwn/pcXRe7tUFpfTCay0nIA21NmMm0CHZ/vdoPvNSlozrXsw1O9sDQ08Trw7lG3l7m45l0tJ1Nhy3svqJEiwy+E5WXKszK4/7dbRcdvod7l5j7NrC3xPkqqLDH/JfN7PoRBPrjhSc5/Fb1+mfQ6T318xokSscve+S/bE4ti/I9OBtwJf5LP8CDfDheFCAgpcn7kA/nNcFeMxIp3xVA3g9RF9PlnJZBFWIuYPUggsd5tNEwQ19s/i5CFt384j2b55l9lFjHPW1OVAy5/1AXYIv/uFgVRFoiIdxljg4wQ7urwCXvEI2zhfY1AVuEevaGzRXD2xYXPorBF3uNuJDPdnEfIh4KGM7Qc/fSagmNkYvMx02ZxuF5Ky8XVIRGXdxxqN9o4XG1uwFoCNyDRIB4wwnDyZI1qa1KufEkU0QNjVxE8iwaNzyYA1yizwcC++sNiL99uxZR2XiQ5klfqdL2xHkPLzzx0tXrzEOrtFla6iYYCs+gW0QL+b4jdoIOlqxhBD5QPHx4QgmHAj4s/LkuWZg+fHuXgqdO0WklYONC/jJNbT+/Yp3aem6QDz0lfDFH5cnP2ExenEtFAk7s5CaPFwF2pF0QWRfxCubJrgAVpWBI+cLLMRw/2QYNOYU+v1CLFAvCcXzMBgjxetHp7QrvgUMY6G0gDJiU/HTLkfxyMAN0olEOPbYu17xB5+8TZmGiL+c883sNrSNYnaVEqvcDzZQercOjwACWK0mTcMvF4NxXayDSIxZ0+kS8+lrcoFggnsWZz7bW/Kiua2Q+MGrgWhJ6p8LZ1XvfC1knDYGvcAXcByRLBbkVEn2Zrj8gay d6YIQ9cU fXis0hcVMIJ3N+EgQQ/4+8maKCw+qbaoeTlFhAw8GVNS0OOBT3XrCZ3mrIIHfNvdfs7hBnZnwmJfXbEZsIhOOxujRUU7OMqUdWqZxgL88N+jBFd+T31Kt0MiMD/GROt3X3JcP08dIo7misqABFuze/VvScvne/nzaRbHNhjsjoQSnYFOQu2mxREgj/x1rX2DXkfCR5DawEL+eV+XDTPir/kea5m99NE7Q8oWZiloJiuZMcohmUyE7NTvZ0cRglp0TwIbV7cPRlDmUSCXE6FlzRwj9xBomW237gy2+W0hWPmylCH54oazNzEqfwmOVpQilatYiHB3eyrWS4k9DR+0Qv9DuAtvp41VggD5bneGUPXjFeqPZZpOKDWSvOTe+GdjVaGVXLlI9pwsOXI2kVPLxdfMnUA5atqumc4QvCU9YzmK+xl/nR+NIETK2svP63e5L0TjYVNIwIdvVd+8JOjk/JcOwf3Fym38sUOjdnnUxIp86D7LkFtm5OSsu9to00gnI7/3cdaObVL0G3HLWV1SpxfPznQ== 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: List-Subscribe: List-Unsubscribe: Pass file pointer instead of inode pointer to access struct kvm_gmem stored in file->private_data. This change is needed to access NUMA policy when allocating memory for guest_memfd, which will be added in a following patch. The following functions are modified to use file pointers: - kvm_gmem_get_folio() - kvm_gmem_allocate() Preparatory patch and no functional changes. Signed-off-by: Shivank Garg --- virt/kvm/guest_memfd.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c index b2aa6bf24d3a..f18176976ae3 100644 --- a/virt/kvm/guest_memfd.c +++ b/virt/kvm/guest_memfd.c @@ -96,10 +96,10 @@ static int kvm_gmem_prepare_folio(struct kvm *kvm, struct kvm_memory_slot *slot, * Ignore accessed, referenced, and dirty flags. The memory is * unevictable and there is no storage to write back to. */ -static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index) +static struct folio *kvm_gmem_get_folio(struct file *file, pgoff_t index) { /* TODO: Support huge pages. */ - return filemap_grab_folio(inode->i_mapping, index); + return filemap_grab_folio(file_inode(file)->i_mapping, index); } static void kvm_gmem_invalidate_begin(struct kvm_gmem *gmem, pgoff_t start, @@ -177,8 +177,9 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len) return 0; } -static long kvm_gmem_allocate(struct inode *inode, loff_t offset, loff_t len) +static long kvm_gmem_allocate(struct file *file, loff_t offset, loff_t len) { + struct inode *inode = file_inode(file); struct address_space *mapping = inode->i_mapping; pgoff_t start, index, end; int r; @@ -201,7 +202,7 @@ static long kvm_gmem_allocate(struct inode *inode, loff_t offset, loff_t len) break; } - folio = kvm_gmem_get_folio(inode, index); + folio = kvm_gmem_get_folio(file, index); if (IS_ERR(folio)) { r = PTR_ERR(folio); break; @@ -241,7 +242,7 @@ static long kvm_gmem_fallocate(struct file *file, int mode, loff_t offset, if (mode & FALLOC_FL_PUNCH_HOLE) ret = kvm_gmem_punch_hole(file_inode(file), offset, len); else - ret = kvm_gmem_allocate(file_inode(file), offset, len); + ret = kvm_gmem_allocate(file, offset, len); if (!ret) file_modified(file); @@ -585,7 +586,7 @@ static struct folio *__kvm_gmem_get_pfn(struct file *file, return ERR_PTR(-EIO); } - folio = kvm_gmem_get_folio(file_inode(file), index); + folio = kvm_gmem_get_folio(file, index); if (IS_ERR(folio)) return folio;