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 111D9ECAAD3 for ; Mon, 19 Sep 2022 15:47:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8B26D940007; Mon, 19 Sep 2022 11:47:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 861776B0072; Mon, 19 Sep 2022 11:47:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6DB12940007; Mon, 19 Sep 2022 11:47:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5FC3D6B0071 for ; Mon, 19 Sep 2022 11:47:57 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 34556C0127 for ; Mon, 19 Sep 2022 15:47:57 +0000 (UTC) X-FDA: 79929265794.03.7D53D22 Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2065.outbound.protection.outlook.com [40.92.99.65]) by imf07.hostedemail.com (Postfix) with ESMTP id A808A40014 for ; Mon, 19 Sep 2022 15:47:56 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CP2bDb57YN6q44VW9NOUVqpJ5NNQgsGpYO3/5HZRVZBgmbEW2fr9L1FQisulxegsivvm5MxxmZGnIFxCqEXO16JBmxGAOTMR6FlfLUwL0+b2mbLRfdWwCO0htcdgoXS1Rxd+M2IfyNITvcSh5TMYJZMdI2n+iBycSp5QHyvV0L18QwTTV1lZ7p78qkj6vBIlLGLPHYKWD7P5PCknZf3LNr/DajLliDEX3uQXk8AU8TkRquCNkaaGFgGx9ACmO24UOGiigS/8ht+mnh/Gz5k3F6lngSEbxFvn2HrduVGHRgJGCiiOc30sAY7r/aWCj9SZrubWulXOjRIA0/IWvA+3tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=3ncQPNNiiAjbgrpdQhYbAOrHXjHfD7LpbjgtuogfaOU=; b=gieiIc1QCkP/iE8u3WxBp+DpvxXRS/1Hr6hnyjRcZ1TaCP2QmoekD4lxNGKU0RbmtgAQfkb9uPd36OzlIZMxY5wGxhAWOnjtM1FW5BfNqP4fQSn57d1OkPmCK+p3vsJ5J5stk07yZlFL33iywg+VtOCGlzoZwz8b7RoxS54dfVyW+f2kUpffvPJeCpACAQMXfa3d/zWIcZJgf1ZpM40XqQDs8KwQXTJweoE4OfXb6CgjIANtxKfJTpZ01JfYXlYd61iYnMTjHLnRsDBKBoqr3R6tL/Rhk/opNCWIowgFMoIMFPH9lBL4RKbX+VkaKXloybpdvXvDyLZL4rDBxH1DyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3ncQPNNiiAjbgrpdQhYbAOrHXjHfD7LpbjgtuogfaOU=; b=ogRFNUfjn7mfVlnmpxspQ0uB34/h8oo1T6f6OoFQnLUXLy6aVJS5IM9VXbf/NPl4AIQq2W4pHwUNlAhsiAXL9fhUpMBwC7sTSLOVAJ4IpfVcUMdxCrIIlx9Easm320m9F4TOj84VLaEkX0Z2cUtzZXlEGuozzbzkV2rUk9QNJ49Jyg4m67NviGSmQg7v8Wq3eOsAOPGmUX2vUFYvxqq0vQOLkJP6JzNsBs34tDgMSkEH7boRl5jjRT1+sCcBsYuQ8mluWQXsa8pZ7g9jB/1bZK+PG4vO/NrvvsMyoJoppJ8zoL1i4Okm0nazX1TUzPp06zvu+HTW3Ominj9i1EpqZA== Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9) by OSZP286MB1870.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:167::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.17; Mon, 19 Sep 2022 15:47:52 +0000 Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM ([fe80::f093:ab8c:7e3:f312]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM ([fe80::f093:ab8c:7e3:f312%4]) with mapi id 15.20.5632.021; Mon, 19 Sep 2022 15:47:52 +0000 From: Dawei Li To: akpm@linux-foundation.org, hch@lst.de Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Dawei Li Subject: [PATCH] mm: mmap lock holding assertion on remap_pfn_range Date: Mon, 19 Sep 2022 23:47:32 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TMN: [NXX6UXNSG5WbV6HKZk4LfNsDlqFadj3e] X-ClientProxiedBy: SI2PR02CA0014.apcprd02.prod.outlook.com (2603:1096:4:194::19) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9) X-Microsoft-Original-Message-ID: <20220919154732.28368-1-set_pte_at@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|OSZP286MB1870:EE_ X-MS-Office365-Filtering-Correlation-Id: 01ccd2b6-7473-4405-b521-08da9a564fe1 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKyNVnLBfCRsxQDYmorGN6ADpJkc/DEZ+42glMHHPDaIaOlvZiYRB71qt7FnV6mJpJFKTHLzbpSD6by/Fe565jOLRGjYV/vW4xeUAkaAg4JJyGKyo+U8KjYpssj2HbgTYbgQlkK0Jz+weKKyc4tS7RqPaDB84TtuYXCd8U4lS4+hBlWibs1owz1yR9lO6pUPOgjQU5uvDa77zzWFCd32H2N20YdSF2awrp0YFwHCYYmUgKq1GwT6GHUuOQsfebyECydu2zGTsaV5ZawwwdnWpN9LjG+ATAoscbsyK2DyiwqZHp6NdPs+IKZTxjVPGUn+oj/nmpjcHwIQc1davbeFKqy1PoEvb84I5tP+fAtAGZ2y9yx8ATLhosCCkbDQ9/YdQr2Gnniqu9Yz+0phSG9LoKEwpjezdLsZxdHVzXmbK8rRCEd0caN3S4VfniFJIws3Bz8+1xsABrEYNHAkb9MbSqcSGpceYDfWKUtBO5x1bSxTSq72zWod4LBLtewG0QwWEqkKl4DdXYHCmDRduhuKndkDjKKJWD/fFF5PvUOzz49QHPbcCRY1lbVXg08NuWCQCY4pxDofnkEvQvjnWVwBFfbPogzGk1MIcKtHpcpHxwlIYDg6rCLI2T7ZPUpE8PRN1O3KaasZNziHFixzEWlnK2vC6XYVjMh8D9FOrYNDUWoGgOJNaWEystSTexkv/QXVHuaGH56w8uB/rpg2BuleolWngB+PojKkcJ4= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3B1YcgvzAzk7aCJesNA2PnpRR62H6hZFPKNo0bDzTAPbT++78UWN1Xls4NuGclGFSxEKQXarjcBDPnTGPEOqE8765jn5mC3VwYlOXv5mlceqPCHAR3SQgKVea3F/aZR932hxVVRgVT2ikU1nAF5GfbjGNGtnwuFGJvMmdiRZyVBXPsve12T7aXW9I9GxkgfboF48p9apmrsV1TCgvpFLxExi5dmZaFdG1VJcw1Nhd+VId/MBGzssSTt9J6/9s0Zm6TJGnPxz8BvedRv2K5iN6EvVmnR6W43Kipomt2uueV4cvFxzWuKh3nOGXr044Go4P9j6zZCneFUAZQg288ADzWfmjSACLuE7ATcq243TomRXpxecL6prZHGYmWhTAJdSWfNKMS4hyOULBIW9ZtvrgVTwL9p7hhy+ZMmFo8G4ogpIxZcg1e+pVwgJlXpngNQ2bGK9uh9uJmEad8SFdb02vzWsivAnio3BPozvPdA8hXVKYw6G5T2Ke0PIv1Xp+vM6k05UAPQZI2gJPU6ZTOyA362KAeQP662b2bGMF26ZTbLq+7Ce9J/YJQ6AhsjoFxK2gBYjjG2KmCGOx6elSPhc/EBMcerJB72m2BRPPQYCj6P7fzMjeHxTv2J/jzw3O7yD X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bgn65YMC2rsZt38Wp5K0c0KhzymbnVrKoGEfYT1uKOzzVG4XstUHX+wVzaMc?= =?us-ascii?Q?opmx4zR9cuN9TVApiZbjQIL/8SxTX18u1U4qcl84WzINW1hhIyLS9JmHWig1?= =?us-ascii?Q?yaeCgjnq0UA/F/GTJFRc5SVtuIXNodxhIJPQPHivpxjF/5U+2FxiKB/q2CTJ?= =?us-ascii?Q?v/AelfKZfyZPJUsM9NAXF1iM7lL21/PL76kAHRz1NXJ5oMuyKLD5yCCdqnnw?= =?us-ascii?Q?gmsWcn68i6D5Mw43gtu95neiJCzP2pkSat6JpxqxXBEcO5Tw2NIZrKHDS5da?= =?us-ascii?Q?L0HKRPTXtof1U+elFexYPCVp4XES8kgrY4Be+iDoA27TtTZn5bwLO4xyY/gB?= =?us-ascii?Q?1758eqkKqbrSyCLzEavq69Fy24FUfK8iPSK4ifHa2NJTCFKAD4q3jvGls17K?= =?us-ascii?Q?AePm6tYwnKBE1EKy2RE85cgtqw5zaSIfVbT712Y+ZApn0ZLKW7NjMoXHZQCw?= =?us-ascii?Q?WG9arGKNeVMxFg4wGx0FK5rG2IY04WVFuOI4SbWkuVig/Xf6jPYB82iF125Y?= =?us-ascii?Q?ehOporYKDAtFKBIVgx6Bgzkl19Vyv2bFKFIBjEyZM7p/BT2NyTWDSaloip1v?= =?us-ascii?Q?3aBOWpDKopCk39l547xrhPYzv+7xfKASsxwsB1d44g/n7R7wnXsGYynt0SN5?= =?us-ascii?Q?CaV2Or+38Fyj+2hROUBcTrCvy7auaGOE9BwkAA2tcvl2UJLLGiI89MOLPCk2?= =?us-ascii?Q?gGBVOAlHSmWSX65oRBStC9ljPjRzWLLFkZmMiVtKelgH57Q8wXTl5CQxk6D/?= =?us-ascii?Q?XEzmdPwYHKDoO/Edq1mI3NRNKHC59wlbU5mR4HgPzJQU4eO54+r1ON3HBlia?= =?us-ascii?Q?g9ntKDOC4rI3tUW+86uTTCtjvbAxxmf1meNxjnN8derxJKvJibGPTvpZgWWO?= =?us-ascii?Q?tP7v4OXdMfSCLCQZxbKrEc9OzDhJqLnIMa/ThPg8PGmG2GVVf41bIucZBHks?= =?us-ascii?Q?BebfISeg+f4im1bSz6ICz7AYwcw20sjvk4C5i9c+xzHN65xyM3N1vZED3ICD?= =?us-ascii?Q?XiPEY6323TSRb2Rzu+wX8p3xQeuMWXd5aPySMVi9h7pKdqFbOeDPC60L0MeB?= =?us-ascii?Q?cSyQENRsQethvpkR5YyfL0xJIerjS27e6OXRs0FIhzbkxfmsuQAyr/O6WKms?= =?us-ascii?Q?seX9mEBampgqlhZpj4gV4aseyy7u/Fu6VnZn6F+y32uj19itoeQMBM4WoyJk?= =?us-ascii?Q?wkz/pQp/wp+MHjMoGuxEZqFJ6fyu7RWazlKMPiZ3DItRF2MfhsNQUcZtSF1R?= =?us-ascii?Q?70ABcouUcuVs401oN7d7G/1m8RdmTDyls8ndAEpJNA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01ccd2b6-7473-4405-b521-08da9a564fe1 X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2022 15:47:52.8778 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZP286MB1870 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663602476; 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:dkim-signature; bh=3ncQPNNiiAjbgrpdQhYbAOrHXjHfD7LpbjgtuogfaOU=; b=KQGVrxXLrbLwFZ/NqW5q0AHiaYzEwInEn8XO2ZDHnIJRiW/nL+K311d3rIcioUZsQG3Nlt OgJya7edU/iH62pS6dW1z5zpXcubXY3QG6qWidc9Ap3T9aCgT312TqaALrsRj6fIXZaDWy KyiNiwgJJCoyx59QlHOIm0z6ixHPcB4= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=ogRFNUfj; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of set_pte_at@outlook.com designates 40.92.99.65 as permitted sender) smtp.mailfrom=set_pte_at@outlook.com; dmarc=pass (policy=none) header.from=outlook.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1663602476; a=rsa-sha256; cv=pass; b=Lu8L73YprChYVkArngublpY/lOo7KWjvaUNIE4ideL/gkEbQcGcVdddSeW3CUiECIknIMz txPPvNHh5lmdTj9Y1cFdhyOq847VGH4rnr4jgeGFTWKkhYyDw5Ad+PSsGif2kutwSASIxZ 50/YL2/JOcxif+BnJAd0ydDZfornd5c= X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: A808A40014 X-Rspam-User: Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=ogRFNUfj; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of set_pte_at@outlook.com designates 40.92.99.65 as permitted sender) smtp.mailfrom=set_pte_at@outlook.com; dmarc=pass (policy=none) header.from=outlook.com X-Stat-Signature: ot37oc499ap64scsapwy63beqic3x6mg X-HE-Tag: 1663602476-322202 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: remap_pfn_range() creates/modifies the mapping between user virtual address and physical address, the caller of which must hold mmap writer lock to achieve access consistency of mapping. The callers fall into categories below: 1) fops->mmap() implemented by driver For this case, mmap_lock has been taken externally, the rule holds true. 2) Some arch codes do mapping on their own(vdso e.g.), rather than via fops->mmap(). 3) Some driver codes do mapping into user address space, for some reasons, the mapping is not implemented by fops->mmap(). For the last two cases, an explicit assertion must be made. Signed-off-by: Dawei Li --- mm/memory.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/memory.c b/mm/memory.c index 118e5f023597..fd0ec1250974 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2551,6 +2551,11 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr, { int err; + if (!vma->vm_mm) + return -EINVAL; + + mmap_assert_write_locked(vma->vm_mm); + err = track_pfn_remap(vma, &prot, pfn, addr, PAGE_ALIGN(size)); if (err) return -EINVAL; -- 2.25.1