From patchwork Fri Feb 7 17:24:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 13965515 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 9ACE5C02194 for ; Fri, 7 Feb 2025 17:25:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E581280001; Fri, 7 Feb 2025 12:25:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 095DC6B0089; Fri, 7 Feb 2025 12:25:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E5125280001; Fri, 7 Feb 2025 12:25:56 -0500 (EST) 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 C45346B0085 for ; Fri, 7 Feb 2025 12:25:56 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 858CC141DA2 for ; Fri, 7 Feb 2025 17:25:02 +0000 (UTC) X-FDA: 83093824044.06.110FA15 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 2142A1A000C for ; Fri, 7 Feb 2025 17:24:58 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="C/ALbgSg"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=whHzAVQy; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738949099; 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=XZwLZtahrKlyxfpDNBBCbgjoN4mmLQn7VLcwtioZ76s=; b=rf4WRE/qAcqpzKwo+74vLwDGSTz2Eepo265oQY+KbZEJoF/sS0iQWGLz4Aofr8W2znjBAT 3hEib/y24+pA183ej2b/GLzzwv6LLZCbH69dXJSdMParafHtUyC6Ij+0vfk/9Pdvy/p+vH tHF6gOyKBoeqcDT8t8RqdUHKie3dU4s= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="C/ALbgSg"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=whHzAVQy; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1738949099; a=rsa-sha256; cv=pass; b=a8dlwR42Aw6z+1A9eWWCruQOZ/8TZVTTUNsF0Q473+vkvWANj+201NQBTxM4zCFNqn/DIw D+CSDUiPeV/14V/i9C9TkOF66rAq6vDPBF7EKADAP/COjMWvVDfvHnW1umQud9ZPPtRhCh daaRskYEgkjPK0tfHR1fSakECxI41xw= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 517EmiLJ016876; Fri, 7 Feb 2025 17:24:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=corp-2023-11-20; bh=XZwLZtahrKlyxfpD NBBCbgjoN4mmLQn7VLcwtioZ76s=; b=C/ALbgSgri25tNavb0Fv16XeNqg5v2IH WUtsI4iy1iqTRoWlZfDFQGbsq4D0rHGgout57oM/mjjfcfeWc5yYQDXk0TDaWzpv f3lbz4eKa+yzaCOz95muKlv1ezp8vlW6in9e+mivTZs/XfIUX7iy9vk+riD66kIB +24wkaFhlnB4ywKN9VZcoBmOh/5woT3sRjBqWom7rgXNlyMon4FylV0QCtQyf7ZG W6ZcH1EJ93N8G7dIbBDNy4S2w80Orcu3j2R2o45uz6NhzrV5cyQT9k2wE0j0ni+K lkxhgTQNdyGpl7TNr9cF0a4BlzeDLH6ViM/Lz9aE8ykJguKIEMOFrg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44n0fsj6j1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 17:24:56 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 517GPx5L022517; Fri, 7 Feb 2025 17:24:55 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44j8ec5df1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 07 Feb 2025 17:24:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CpO87EUCKcNBWUNrXzadZstM7fyF5mdSN8N8PyiJ41fbjN2beRkDmGiw0101lYfOaDDvI03PIIhhQXJ5T0Ayw1OQ2dg+ByeFOA37cRsXJfRn4PcOUCZJYDUpeLvJmlskxq/tFH950gfP0tXpZOf2OPbJAq1m9cRaCG8VEX5NwilEz+8R5VFO6MyBW/+08PGXLwgbeyqf970XbFYhhb9JuLEkFurgv9TmV5HSFpn1H0REP/jl30KLEfTpTpLXT7PbMDhMKdn9J9gbvTbPSSF1tjnmaLVHybhvRNJGH97iFkdzP07kB0uSCjETCADL0rovQWZecht+tpE2n+sNQgQcog== 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=XZwLZtahrKlyxfpDNBBCbgjoN4mmLQn7VLcwtioZ76s=; b=s0X77l/nPcuMOcP4bAj59xha7+dKhvr3fI9q1+9prYcJcoZLDjdhWZm0TIlG4401/hhl7EKBhlM7Nve+umEGWXcB6JNTmjmI8j5xlDwz1+YqX8c0KDLdNjD4T3EFC5LP/dUk2ABhKoraPBgOHzATpjiVcyNndIUHYC1uBYdDZjbqvmpqfwRyl5do7rU4oSGZfzIQDPaYnddX+lkZwJ8iz/aexPALe+r+jQgMg4XPz176XPreSxXMzVyaAgDNcgesiWjWSS7xjjtgVy6NDdblLzEKklfKYH4Uc6McpzG1qWqaUFpVkLIyhxNxUEy88ioSQqwN8sTURGQlKoj6Eu40AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XZwLZtahrKlyxfpDNBBCbgjoN4mmLQn7VLcwtioZ76s=; b=whHzAVQy4k1m+H8Q27EoMH1MCTQfMg/kIowpDGVDZuqt95GZCf407YX2cN6i/Ny9J1s1h3PddC9rwjzvWiSCHb8yFxUz27UgD+yUhDz5JwolSmFUC4udxbPAkPV3eetudnxMdfLeYTNF5YpDkM/qDX1V2xRR449jMDvlNLNVRd0= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by DS7PR10MB5117.namprd10.prod.outlook.com (2603:10b6:5:3a6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.14; Fri, 7 Feb 2025 17:24:48 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8398.025; Fri, 7 Feb 2025 17:24:48 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , Vlastimil Babka , Jann Horn , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm: use READ/WRITE_ONCE() for vma->vm_flags on migrate, mprotect Date: Fri, 7 Feb 2025 17:24:42 +0000 Message-ID: <20250207172442.78836-1-lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.48.1 X-ClientProxiedBy: LO4P123CA0370.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::15) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|DS7PR10MB5117:EE_ X-MS-Office365-Filtering-Correlation-Id: 526d2f76-d462-439e-e702-08dd479c52d0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: nXy7KmDfVXxjUnPNrx6x8VXVpkvkODzzt07LOO7RriW8g1mzrN9ye2+JF4FyroHY1DuyexKrDpD//Y0iRGchaJZevJKZiD/+FvnCd9JbnlIq/1z6tcvafhPhO48cJu1kJAyttEn0qk7TmwTWGxba01Nhs4dQljpZQVzftbhNkPmr+uhDrEbagzeUHRO8P1Yu4oPj1wQADEFlPkZBO/2MWqwsKdJRMEOItEM+tUzqwXuFHGp9Be/JtGQ7aYPFThFBXPoRysbtF0xC/eRlaZ0ax/vVEEBV6OhU0/WHnaDduDrrzcRM/85EalsjtP9vz4lVt57Z+9w4bZLNjfO6CpyZ1Ol5GFOEotjOjCNZ/W34SUxiWEMU6JAfJuVntpcN/NOdK4hsnQ0usROs8MxtAqtjRdYIckYPnBfsOdhF4lAu3BGbR2DD8y41elz4JtujuEka7mU4Y/nlQ9LUq36cEIQKTm/DKcL2iBNOsld1FhDNITPrUkkPCQqw/mfb44mg9r7fTikdczTIUrkiPIhmn2VRYQUF/28XVqFD/nZ6LPLYjyNsuVswKAGP4aLuHZrgDplLu34v0X+fa5JAhgCYBZN4DP6BU0BAU/sw9FxTzBGA7ItUB/oHDHBt03f/JUXFa8IYJwjcIGQf9NaUZoYPB8ZLEtBACM/jkhHJdPDSq8OFTel5KNAs+J3BiWtFpP4FwNpm2hCesjFMYWKudX3r9U1+ZyY5Qn3DWog294Ltxh8ReUtTaDyUdP1Un0ZONoMFk8SXimk7ePuQF9NweKsohON0vTum+muMY2EeasFDu1gWuRFuh3Us+h+PzKAi7TylygOKAYPZLSyoaALvAVVTr2LXE7iBIJ2JDvTKzbpFb1YQNTqblDrtFJeNutpcrISi3EwDoFw8n1cxjzesWCjkL3R/dA3rBPKLB+aIjkvNNBOi8KPtTI7xbbQVs9lV2s0idikFNki6YYyLmMrc8g82KbaVD9zjgmjWarE0Ylxfqw3OssO5cIiA9oaRTn34+3ozg6NNcpyaL2mVTjpZ47G3x/h/231Z/aSE/6l2qaP9rEGo01iZypzlP1Du3D0s1RjmjgDTUyBNSZ8W386h0IC6fh8RgbzYC3YZsG03vbClUOnorJWtUGZNPUi0YXLW7SBcMQhJgZomZiHgFu5Qq7Tg2U5lEslouNJKpX/zvDfT2bY6BFCbb3+nUbSPmyhT0tczODX+LlNHfmBesOT3DjimZig6AeArQbXVTgDY93Kc0c+8D8+OzCCxDoQq73dvnJtZIEobBgSlmBK+ViMScaGDsj0ZsEWSLzVNkcMKNM3x2D90nJ3g4GVYqKJyjyFpW7+wS6Ffy0zP8BSwZVvnzGRwWND3K0X969NTGvs5+f4mnHlD5f4TjiPdG+3pgWurkDS95xbo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H63QQGHNM+wth99glrklAEBS9tTmTtQY2ae3CZyLpWoTxVxtfHVcyDvideebbBX3GlBYNp9ka++TLTVosx9UH7WQbxyHT3gvtZA7BPUjcDB3cCeJXCayj5J/iMpRzH+m+LwjLl+VmfNvK+We7sMKLjFpo8er36SiQIXh3vbbNFWZrgOk8kxfVmwlW4f+N9Pe5EEYLjYF5KFFYwOebnW0N0ZrHD1F+nNMiU7vAxwKinCBmD02wcykq1IuBQNs71LCnSCuPkIJfHVoY0vpiDZrkFCPxjnJtipR0Q1Xdl2wKA7ceE1Rbxqz/Hr0TUPxH8uYVgtwtNrPpDCWe4g6QwzvQOAujVPz8DbVV6gHg/e6d38PuDMswFgT4svz/FmnCqWRt+0GYlZv2EhertvwoV+bNoldH4yCXjWvJoQOfMobNv5ErfrRVSuuz+JfQu/RRQmmC4xoLgksTUzamHFidCwbmj+VIeQpPJqLoC4+GmzfMx6pCOh6e1Ts86mtYxo/Wi/jUrp59SoCD5oaAD9ntKBTlM04KoH/7fwHmHEPdhb+K26s61sIuq2GIVlqde8UIwVLJvzCzN5qoG2svE0pZc+qEQHsERDc8rxoY3ZUMqPikJVDO9ABsY+pwWc6r1HTkYbIlt1xpsn69bkWvSJjHsAxXEL4HPPpcUgu/AoT438mbDbalTk8Z759r9TM3XF3ddfd7BR4VmmzBe6XFUi1eMDuQniWE2AJOH8zhjsgQbjS5T9Che1ESlWbQHI0RzLN0m7+KRrPgk+l+C+Ph3pBTvzIKpkBvk3t4d6pIAyQOQq0TLZWlVnOOGqFyb+5TnbL5xg3rXyOjkT/a18P9QE/AsCvXDEKCpUwgrD5bD0kjFpgziSJjNBR2DW/8d/RX15K79xZpWBUdV4eyb70+Lu9sRnNnnssy7dFrRlHeP4wi+IVYISgWHWPiCR4ybAZBWlDv9Y+wFeHe5Qn8Y6vuGf0M6lTIVJQWqCwz1ilutsXYptM1rX9NJJ0bKLx+uJhNo/DF8VIq8Ne/xwaAvisZ2AQJPsf/r2w0RWBLdgUedumHTLgRYQWBwaiLVCFDhZMOzFIXUZSfJ+RMfzJwskhVGnoe0kKO7v80bncmr40X+fACuo+fF5bs1o6ITHjJNErtKc+SBaymvfQ7MT7CLO+VthuJf7pJbgpA4kubcTV+gMMkyONnIFmw6/zG7yce22rwUoeEB0qNi27RECst74Xk6PfGFgySg1VaIWgZsAVCVTj/cxjFJdIGn3UzxHQROWlnXfTFuSB8Y/5BkFVNTRYqZI/UmQjOt/jdxg4VXTwaa+5j3Uv071SewMetiwFtdiX59wm0AI3s0/2tbLw3bR9QofOM1aOOrTSCq0DfLJ9duUaacF60ZtjRI/KXhx3vMDwQ4ZLcnHmDrUXVpDUuCC28vyDwxw3L+dynlgtboMsMZ3WcqWlp9RIa6lsheq7pFfd3a774j4QLhUfhmbvzBch/e0kAA5pIBmP/fOwdbNIzLCiw4BIc5ed7UZUCrO6WkUaQXFG36CQ76b2PL65ZVI6+zEuEmrqMt+lLL7HHEP7VSoTT50ooAMlKEtXNbM9J90ls3JClYgm/1LLmFOFmfTYh2vGVKUV6w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: L880Q6EBQcsdq5H97PQL11wU8RIJ2mLmcTqaD8c31wArtw3wLFBj7szqGbGjZZJuDvD2CMRuhFV2Vb+mlZqUQsJis7R6dRuCdUpJA0vYimCVKALiEg7afW8IzdrSJfDStWKBTjErV/gBQe98ySPcUBp95pXvfkwYs6FuWUC4wT6+9cWcpgFJDN27N0p0/lOiiGnudKqGb3Awp+oqAIgfPOBaJi1iOj/voi3lh0OiCQ9YAOE7BAPlqVYdSmU2BfIdxyTcP7AGWx3lnftGpEeGpcXUZw52UfzSU3nE3PtdSyjubt3Ln2vEcBCKjo5P/jPttcwBuyfukg2StjZPiLd9+k/6ISGW5bKZkp2way4YHd8Hg7Ux07a1JJY8z5i51gvoHayVB1JQPyW8XuZ+Y0Lf+cI0Wj+tLvA/rxh2rVpj2F2tzjwjtKYEC89gLSX+5nriVOnPTU7mCiQkFnqkxJ64rIP8C6yu7/zFz4w72mTDCq0/eUiWrAeRXKbhNB2gD/91idDFXmO0tV18rar6iUNl7aKT6oCorl8tixoxkQFjVX8vJJ133M+AvP/SFfaJS+gICJ2zwTPXtpTLTfrnEwNt57C8BF2MZWSdIeEaWvVIBFw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 526d2f76-d462-439e-e702-08dd479c52d0 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 17:24:48.7514 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: O79NBBKF3pvIb5kpfyfBE5uCr9CxEgPpmBPmQhbfLWd0G+eRF39v8zZSXk3GNB5sBfAqibvR0aEOt+xxZry9FLQaIgvDqzdA1K9heDkVv60= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5117 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-07_08,2025-02-07_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502070130 X-Proofpoint-ORIG-GUID: 9XR0a2ggBFOMEUCX4ReybQV5_4T6W_rb X-Proofpoint-GUID: 9XR0a2ggBFOMEUCX4ReybQV5_4T6W_rb X-Rspamd-Queue-Id: 2142A1A000C X-Stat-Signature: 4gw5391wz39kbabe3jud8a6ohbg3prgs X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1738949098-976155 X-HE-Meta: U2FsdGVkX1/t8iF7/f4h1d50o+/yCEKdPvq2eJWmfJpTHRwJjqDTQZQQ8DPvAOacLfquB7mgOBlRq5xZeOWWgaFuZD3TKSU5r5YWkbLh62XHeC3ratZLYO4qdzSOZxBCF3v92XNcLUoACZ89QcWWS5NQ4oIpDExaOinRRI/e7dsOGq01kcHW4v7+ijb02DJRp+R/h5Kph5j+SQyz5r9cCtL6fadlKYlGsOX72FpS6d4UBQF/SDBu9vYeWFKcOGCtbRoiokCB8FA4uD3XG++5+Jwet+0vs0hcCNRRzGVxA67OKwM4ZO4ba/qW7dmN5ADUnvVAUMLjnw8QTT3UOiA4a+deaEWZ44o7QIdTbYdgP8Ce2/Umz7D4fdWzgkuDb5/EM7RMylqZK2tcZV0RAZRFjyofbAyNpsC5djDH7Tq2G4HIvbS5HfVeYzUNhBXjI2fsBFsGTNGxEnB4yegROPAI0hoSfwX3XBU60gZXSY+/MKquAX4c04qyqc20K+YuTDweORxZnC4ZdmP2uyai1561U3y1ZjKZVtGvLiu1VPJmf9WWBizkxLErLdnmX6Ss/jjSvierDofWjbovSCMRI7FEf+aXYyaT8G1u5c+0EvNgmi0fg1Fij2TVCPz+bdxGgpwM2tq/5AEEufNEM0UxCUwttskS9QarXXsCMKZHYQ8joLK2gLQRyWikg2zGzIwULgTGfrva3wmvMZfU/HT3AwpoGEYENSEqmUuwaKVAbidud7Kq3gyiIgst/JWzuIeAYI75vB+SZpjkVai5oGdZqm0TFcDvxB5GgnzcS05EdVIxUH9DfK7A51kV1vDVTBXyjX8VTXDxGJkFmQs2tJQrDdUMU86HU+YnFf2fbDVkn3HKPLhlUASRrDbQIwEfcy8Dhb44Dzu9oEbj9/Tp6Psi1AKifOkgva3IZUdUmciKkTBz8MZbNgqqUALhQrvnHy6u8Q7Cw9+g3t4uQflLUQ8TsJG KFyosqbq 4iHswufEHmC9QznsXaUOWlzLjZOyc9ANjrukgydokKpagjk6DUTsOeDmzDKMxrO6xKPGmQZqpteV+XRMcD5IVMQ7MEe0YgnifnngHzegrIToSQdmGEosg8BzxhJWUY+ucbJqdG3dXwxdqwYmuu9sqeiduVHaTAgVwKTNfEUe+1Or8Zmm13QK/wCG7hEVVxuwC/4zKiZjR3x31B42q0IoUsgWlmCT53NKqt0bDp5QfKwT8vCBvNL+VnOSwYFTVi/xN+vCx297lAsN2JSXg+ZpMBQsm+nk/dk/iK1e5DNvX1sGLrdiDkf6yL0LmrvlJvEY6y/x49exT88Egoy5QRayksdk8sSY6FfWohHtrrzBVWUMWat0NkhJLPz5MtiU8qy3IRtTMgD6anDS2oDCZ1ZicEP/QXyK4pCXhD0Nt+4amfY10CyKosh1r5iV2Uwa2PtnYFJ3iKoHiFxebvjB0MQwbMIJYZGsvpBhsHgF/ORUJQ1mMjxEelJ9me4omKsVshA2SKytsoSAw2Yog3BtnHaTciqGrzY1dAKTRio+pVlW5h1Xp09r7yVHL7d+ocUwswHNGPQ90czk3KxFN+XyefKQm+qUQAsU+3+g+SAxXau9vqQdbhVcf0O17u+OEeGFWitYgaCaOTNJIOX4tS974r2V1jXsev/axB+AZVGTITu4hSbjdvrGhnl7ViUwrd5Eji1RclC5Ifklwy/INyJA= 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: According to the syzbot report referenced here, it is possible to encounter a race between mprotect() writing to the vma->vm_flags field and migration checking whether the VMA is locked. There is no real problem with timing here per se, only that torn reads/writes may occur. Therefore, as a proximate fix, ensure both operations READ_ONCE() and WRITE_ONCE() to avoid this. This race is possible due to the ability to look up VMAs via the rmap, which migration does in this case, which takes no mmap or VMA lock and therefore does not preclude an operation to modify a VMA. When the final update of VMA flags is performed by mprotect, this will cause the rmap lock to be taken while the VMA is inserted on split/merge. However the means by which we perform splits/merges in the kernel is that we perform the split/merge operation on the VMA, acquiring/releasing locks as needed, and only then, after having done so, modifying fields. We should carefully examine and determine whether we can combine the two operations so as to avoid such races, and whether it might be possible to otherwise annotate these rmap field accesses. Reported-by: syzbot+c2e5712cbb14c95d4847@syzkaller.appspotmail.com Closes: https://lore.kernel.org/all/67a34e60.050a0220.50516.0040.GAE@google.com/ Signed-off-by: Lorenzo Stoakes --- mm/migrate.c | 2 +- mm/mprotect.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/migrate.c b/mm/migrate.c index fb19a18892c8..365c6daa8d1b 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -328,7 +328,7 @@ static bool remove_migration_pte(struct folio *folio, folio_add_file_rmap_pte(folio, new, vma); set_pte_at(vma->vm_mm, pvmw.address, pvmw.pte, pte); } - if (vma->vm_flags & VM_LOCKED) + if (READ_ONCE(vma->vm_flags) & VM_LOCKED) mlock_drain_local(); trace_remove_migration_pte(pvmw.address, pte_val(pte), diff --git a/mm/mprotect.c b/mm/mprotect.c index 516b1d847e2c..84cf7689c5eb 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -607,7 +607,7 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, unsigned long start, unsigned long end, unsigned long newflags) { struct mm_struct *mm = vma->vm_mm; - unsigned long oldflags = vma->vm_flags; + unsigned long oldflags = READ_ONCE(vma->vm_flags); long nrpages = (end - start) >> PAGE_SHIFT; unsigned int mm_cp_flags = 0; unsigned long charged = 0; @@ -627,7 +627,7 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, * uncommon case, so doesn't need to be very optimized. */ if (arch_has_pfn_modify_check() && - (vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) && + (oldflags & (VM_PFNMAP|VM_MIXEDMAP)) && (newflags & VM_ACCESS_FLAGS) == 0) { pgprot_t new_pgprot = vm_get_page_prot(newflags); @@ -676,7 +676,7 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, * held in write mode. */ vma_start_write(vma); - vm_flags_reset(vma, newflags); + vm_flags_reset_once(vma, newflags); if (vma_wants_manual_pte_write_upgrade(vma)) mm_cp_flags |= MM_CP_TRY_CHANGE_WRITABLE; vma_set_page_prot(vma);