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 B2DD5D10C1F for ; Sun, 27 Oct 2024 11:43:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E6D46B007B; Sun, 27 Oct 2024 07:43:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 396B56B0082; Sun, 27 Oct 2024 07:43:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E9206B0085; Sun, 27 Oct 2024 07:43:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 005186B007B for ; Sun, 27 Oct 2024 07:43:41 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B7F2D121AB0 for ; Sun, 27 Oct 2024 11:43:21 +0000 (UTC) X-FDA: 82719197232.14.0A7835B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf07.hostedemail.com (Postfix) with ESMTP id 4F30940006 for ; Sun, 27 Oct 2024 11:43:07 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=RtJk37Qu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sc83Nqc1; spf=pass (imf07.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730029364; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=czver3I7GfkOwLC8d7rMzcjm/ZNNd9GdJs8qBjuazr8=; b=xx6vUdIhf8P7a/Cf5o1GugpnNMVPSr235xZOms3z6wyWcYnS4UGxvb6DG7y6+ePYtuQKwf 0wHbLKxtz+VHelQmCR9h12Ytu+6r+hftG6APCjg1zVZdJNLrMvKFbSfn5XjO9wz8S+1Jin kgff0CZNH2e3Cf8qabj0p8wdq767p7I= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=RtJk37Qu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sc83Nqc1; spf=pass (imf07.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1730029364; a=rsa-sha256; cv=pass; b=5meIm+WxXLJqwcs31cMGL42hihdVWYQUb5vPcUtGfJ1GyIjPx4CuXekeipg80G+ZePTDug g3nG3VANid7ya1avfnsMe0RTwEKCs020wn5oPgtc20AUYtO+GcVleiteR6htHymwDdgDj0 EdEWGwe5G1Z7S/bc6oQ1HA5lA6THuVw= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49R6fw2v007549; Sun, 27 Oct 2024 11:43:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=czver3I7GfkOwLC8d7 rMzcjm/ZNNd9GdJs8qBjuazr8=; b=RtJk37Quw0WithP1NhHVsF7R7xAZqENrHV wdBW8HbTjx9tPcdJl/sZ7MbDvu4tTPe7ojW+f6YSiIrCZDklZJQrfqkwl63CxSB4 je99rNb4APlvBrcMbquPdgPNd40Cm1/0hReWS3pSB31JruYW9QzrHi3GUtJlh2QQ aOM3IxnByKuHptKXjNoqh0qhJZtnbyeX+oMkDmzPthzDnwxhL78A6PKsNfKEt+VH vCTUGXxoMUBKCx9PgR/PLSy2mIKnkyHq3N6ZTf21YMAdcQ+x0rkt0nRLUfepAwat 9EhXYBXtIEkIhwRKgd5BQZzDuB5pTtV9hHbBhJwO51qDEqpgWHBg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42grys18mh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 27 Oct 2024 11:43:35 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 49R796Nr031191; Sun, 27 Oct 2024 11:43:33 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 42gpvb30u7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 27 Oct 2024 11:43:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OQMg8GND1ke8Wq8wGgCRNxNiI1Mfc08QixNBLSXGgtyYn4exBIb+jMFPEe42hSOv1D3yilHC6RED91VvmGEHbszUJQLcghvtPFhSVBJ95QMG7ObsXR5qKmWqrI6Kf2Qp9jD4q7mLkacCABc6a1mKVpOVgbYbVvKgebAtfsFATYjzv4Sluq/D922j0dOWZBtnAC9bj27mV3yOFUPy7RuR/GXaYx+iw+a2NL2+K8COpfiUah0I6pPizxTcRYDG+cc5TkvyxmDAd+qif/7RpEifKFXoZwXEAMi7jEBywutB56QU7lvSj5Kk5rIzf4MJsg4yOqw7yFbChIVhxPMeujo97Q== 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=czver3I7GfkOwLC8d7rMzcjm/ZNNd9GdJs8qBjuazr8=; b=dvBAz2KpyU2fvZCSkPKBwBzh5YmbbVtesOgLviuw2COBO8p1qvBAsxRmiUFljDD8nI4NGJjSxhTRbnVtLxDxz3Tz9EdGwG9/v5lV8pOvdDAkwYljuiCHgWoLQ5vyLVL0MRqCScdwor+daZmh5iWPxh4RPUuWG+JWB/gLbRgf203Srr2DoQfK/wtLkJ1uux+93EprGGEch9bw7zYYIo8r7FFwvw3vmLAkdvrJWNKau5RfO5gceP8cTzt36eVMh7y5OfhQpcAsS7BlRn+9MA33E/AdEY+3LXgMilk+gSQPWLfEoVlmYxfViKNdkYUqGLvKNUpgPMjNqMdjx6KF8zweVg== 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=czver3I7GfkOwLC8d7rMzcjm/ZNNd9GdJs8qBjuazr8=; b=sc83Nqc1c8ebNWD7xmfP+peU4aRmt0k790XYp2oyGeUG6m3GI4EdbPAL7My9CGkxQhzVZtxEOO1NzhTaztBe48AadPZwKuN2KGS436RVyVKb4wPkrbfjuJ/3pT4Hl3O17H0OeYM1t/EdDRkV5z1JxEkSYkkv86XubmFhierkVVw= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by SA2PR10MB4426.namprd10.prod.outlook.com (2603:10b6:806:117::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.25; Sun, 27 Oct 2024 11:43:31 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%6]) with mapi id 15.20.8093.024; Sun, 27 Oct 2024 11:43:30 +0000 Date: Sun, 27 Oct 2024 11:41:13 +0000 From: Lorenzo Stoakes To: Wei Yang Cc: akpm@linux-foundation.org, linux-mm@kvack.org, Liam Howlett , Vlastimil Babka Subject: Re: [PATCH] mm/mlock: set the correct prev on failure Message-ID: References: <20241027025629.14715-1-richard.weiyang@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241027025629.14715-1-richard.weiyang@gmail.com> X-ClientProxiedBy: LO4P265CA0017.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ad::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_|SA2PR10MB4426:EE_ X-MS-Office365-Filtering-Correlation-Id: 1888d512-49ae-463c-4ebd-08dcf67c943f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?648fZsTkeOrIYIKZGnzLfIMoELpfX+Tptl+WLShOkVUkgzFybeBSAwnXpM5A?= =?us-ascii?Q?eHBinR2DvibJyLFKcT9XUZKNyjZd7vytr1D2qc9YsGkhRrT8pG8hJSc9L7bb?= =?us-ascii?Q?Ni7MQlvwkvNBAFwhrZe1uJAohx3PmEozXKuEOPzY/onRUamDtv1gEXMh7lvl?= =?us-ascii?Q?+vMVtZMSMEWkwUroIpZHpNrga3EciDDYqDl/40fXnSwbSe4I9UO6bElzIsD3?= =?us-ascii?Q?4th9Bg+/oVjKlCIC+ZJNbXpNCqxBULp3aJgAOwYEtQ0o5vSLvGUax/7/cEho?= =?us-ascii?Q?+MMiXt9w/PN58tuRNk/Ue264sOKThkMbQ3njhE55kN4/EIt1LDsm40wtqPDR?= =?us-ascii?Q?MlUeiBByUDHw0MUUG+e61SJWx1T0/f1D9N2eQNrACZe5nL50xDP6apeB0SFI?= =?us-ascii?Q?ALghZti+TfUrBk5wHipW0Jr3X425XnaY2TQCR2vHN2NgIWWLBQqoY2hxNDEt?= =?us-ascii?Q?Nbx14cSk/vuxHAyQRmNPATsb9E8n6/eY5tDWG2aKlrmKeLYQSpGj7aeHMTRN?= =?us-ascii?Q?yhOdsDaQ9R2dJ6LCXXU5/7nWJGGvpNVFTeONL5tXGtmbN04FsQfGAQ6XXU3R?= =?us-ascii?Q?AM1dlb6P0UVkA3jSiqQM751Nwr9GBIULxOVI/ZIgb6Mc0Fq8dd+NvXZQkWI+?= =?us-ascii?Q?9ll5chx7VCK3UEGYCqwsMhQFdIxdk3v+9ho9wxNiJWoERfM6s1QOLa/1z9bl?= =?us-ascii?Q?5RePT7KCxR4l+XKTs4JSYNafU0HzWsFvKqkDfFyWoRHnOtieccPirlo3bLLy?= =?us-ascii?Q?1xfFRt2jKVmYcLI2Z/MqRLt3Oq/ZoJzGKjZYkcgOuI07nHK60oFFwZ65J+ka?= =?us-ascii?Q?8LWSMOjlwgQv5L15uOmcCrumXzuR428F2b1Uk4i9pb1xqn8olHLGQ3yT39FL?= =?us-ascii?Q?xnNGMJVw84yaJLwf4gAHBOtLEaVGuCuD6u7GtDmKf8EpOLmMCXwo1YM6KYUu?= =?us-ascii?Q?T1ugIgf2Z7uk1O8mQeP3R+h9NBtX9OouVIbJCoriMa+6bhWrs04AWDCAD5PW?= =?us-ascii?Q?fDpO4K0qFRZmSrlhvKdiAKgJVJ/V1isIkwyH+dpBN1lOi3BQr/DZlU1KjHE7?= =?us-ascii?Q?bVpxIaY9WhSy+0TbKsielFgSATwtHXsOxjvFlTD1mKIQQqbClx9j/lm7A6hp?= =?us-ascii?Q?HQjrGqZz/WQZ6kAzFb9aOcGnrqkFE5EEejByJ1Fu8+oLEbeT4wbI29gG9Wo7?= =?us-ascii?Q?n3A89V/buDkrEzpzEj8FkATOf0DwIQl2FdEdcCIUSNl8KywwmWDya2ogEaEC?= =?us-ascii?Q?OJ7E3jVRLFmp5Y4RH3FesXqMZXzj0WQqorOghC9AjOaP370TAx7UXCMNYxTF?= =?us-ascii?Q?OknCfp8rcFdAFlyphCdp2rbB?= 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)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Pjvt9xJSoGpHajdRPDN5+26G3kGlcVEt6dmwbGqmKy5tX8yx95/Ljrjm1134?= =?us-ascii?Q?X2vCzKzOr2JjydQwxAlDG3RRdadQArFTg93Xkti+0AMS3T59lVxuFn9BRdIj?= =?us-ascii?Q?zNFYqWZSdJ7zfpF0sX+83xgOHy5/RWqnG9OkDnVnFir6jtwsk5phWPYkPELO?= =?us-ascii?Q?hQkNMFxfeUrUrlGyxMX8nAhXX9fZg0aRrF8aMv/rKfK8P8zy5cNWEBa4NLHI?= =?us-ascii?Q?tVpHS5SwwU/JVCVf7mpZmGkudahAByOCiKU0qtbdUCe5vhWSGbJN0C2mbsQD?= =?us-ascii?Q?omrivUX3brAUx+kDQ5/9SlTSQkW+g/VVgiudOnLnpQmxHwhQiGotnLKK1eKp?= =?us-ascii?Q?mlQk5K4xdJlObmK9AdvhuM4ERMjArOYuO3hzO0dAdEkys/IsFZq0VZk3sIN7?= =?us-ascii?Q?/mdjTWqwexLf/J8k4Bel3Vw8SFXZYZkfju1NghBB1Vy2U1ypz0t7JW5R3Bn2?= =?us-ascii?Q?4mA6E5dRIH4ZhcuGyVh8TULBb1qWJKZnTEwfUupKhndtLOhTncnLHH80LNVi?= =?us-ascii?Q?+Q08GlbjukMTomAeZRkERBcm7HPwHlPj1ek7ME+6WomEgJq9lJP/vEph8dvP?= =?us-ascii?Q?7N0n2KkPLgYd3y7DMg44DUOlMPret3IP8JJqTIMlguMAPFMHLpLkWYXzIOO5?= =?us-ascii?Q?LWPAZANXKy7MG7BW3qGk0UtVCuO3rkUbOThMUBVtWp5i04qtiHsYd3OnhiSN?= =?us-ascii?Q?BipF7VKD/Xx/tLF4MeUunnJONO2p5S1jZ3GyEqGGQGoabJv3//0MFTKyZuCW?= =?us-ascii?Q?95YeAgmQKyd6tlTMYPisxngePcS2aLWUsms+uPk3Bz6I0WK1/cU+e3QK5WTe?= =?us-ascii?Q?SETHUoheW7mJMoEr0MNMmdOzBcAGPEnPKKMzLpyvHojbklq8+ZY+XmfDSLOy?= =?us-ascii?Q?sBqTJoUwbbR2FfNuokyT4m5jqdQ7zXgS/WK2ZPx1txOLTexF3q+IYslXo34O?= =?us-ascii?Q?0sK8JTq4Zjj5okT3m8oXqRI3/h80sJKHYakEiYDrwF61XNpd1mlIkf8W9tSX?= =?us-ascii?Q?r2NA+7AszlCiVioJJol7iBJnQHsgtGq9DED55AWWvn4WUdzGLfFuB19dzezY?= =?us-ascii?Q?XFsIt3BNH+OdwH5ajrX8rZg6m0Z28Kn1WvlLG/VxZpuL7vq8niJdiqIzS8iO?= =?us-ascii?Q?LOv89Z9qw7t6+2knIvPahyqJmhI7gE4IdjTqCJCUD3Mn+PxSq7QZDU6jxwFP?= =?us-ascii?Q?m8ZJBzoWvCG5+TIRBcU+7Bs5lLzzwHfEgeVYVnhHe4Fm9jVD7/ZymVDpIQjE?= =?us-ascii?Q?ZPFoHKkSYDkXAmT1DN5N3Yy0GoV3v9BVIH4xlDAaq1sJBS000R4D9lVSvPbl?= =?us-ascii?Q?yDFBe3oNYjGEuI7SYyO6ZDWF743jDCrvQtE7P+3ze/PlFApQH/9TiVIL4d5U?= =?us-ascii?Q?zWz4OwdxVwI3s8TMteDGZ96yuYDZEGXMQgud8J2Fo3Dx0f7BvnF+n9Cho+zy?= =?us-ascii?Q?HT5akzoshGoiFiu7+/pEfd5aSfyWRDvspGY1Q+6AaPueb846tyJ1m3uRdUdq?= =?us-ascii?Q?C0B29SMMQvOH5NP7w6TqM70ao6ZawSsZpdNYNFnFVRRX/pIqMoT5s7o3+Bz5?= =?us-ascii?Q?10419UZRD9WO+omcWKX2Td3/sePH0nWEtKaMLYM5IPQIYRx3E/nPivZUlw09?= =?us-ascii?Q?Rg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: VMi+xtY+2i6Rm/45IEUCHwFvzDmNzaALjbqzGrKcXEScYlChecAQuwW4jxxqxL2PmQ+yBXTRANFA3vAM5MxAVPjbe4CAMMyX4TP1xQWY8YEQM93HoDFYCWeAwCvbsRVm1MWmvqxnX01+UxiEPKfpQVJYEGF/m3DNDkDi6I+OlUwC41/rlpwdvrxQZWhOvUEGz4PNk81Rap3f8Z9QYsa/MdFV/QoUCP7xcGM2bJ82cj74juivyEYgz3z9kR3tsiu4D9ZVMIi7qaQ2PAJFb6WMWOHlowznUg90MwZQNsdII/kpTO03dOGBM5WrCx5Rxz1JWK5Wp6IGpQLwIVtu3wsgHiIgzxapAV84Q7R9MpSgBdP2Jcl4S7YRos/XSOm4f07R0qfTcg5/7lE12TaOkjKJyfuabelhJqAu396AWQ/09BTfNfHTE1K7J9/G2ekC8uj0mZr6o7Ya8Y6FWXQngh4hu3lEPswGrldftPtjpSyHgwbS9siwmqdrrivJnigPqo9TdpZJGhGrEWusVBnQsma+qDI80eBcT+gR7w41ZnwJ413CZ1q4DKz2L7ZrlGlaOqHXWA6dazV6jEJErNRmI+2TDnrvJycEJC67OMLXZX4sddI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1888d512-49ae-463c-4ebd-08dcf67c943f X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2024 11:43:30.6153 (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: jwG0Ecan8sm6qrDPHh/0puHny28+yQe3ZA9JRm1z1VfG7567TBixUTp2dKZx33mZAhaZm7F/VOFKqul6QJ/R8PfejreBGId0VweV5DkaXFI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4426 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-27_01,2024-10-25_02,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2410270102 X-Proofpoint-ORIG-GUID: T0PorJkbRdxKKYbM_dASVqFQ31UAhy_6 X-Proofpoint-GUID: T0PorJkbRdxKKYbM_dASVqFQ31UAhy_6 X-Rspam-User: X-Stat-Signature: kr84fukdbosbbpdfuo6cmc77n6mcwkjy X-Rspamd-Queue-Id: 4F30940006 X-Rspamd-Server: rspam11 X-HE-Tag: 1730029387-96449 X-HE-Meta: U2FsdGVkX1/RHzWAWphxo4+TpD4/6FldXJJC2eQKevwa+c4IDkAWHD/UKv+vtZ+qqRS4hbebFbXygTi6k8wiP6HtMYL0a8WeFIaqwvSBTfD0NrrCwMWJkO/ZnFkE54DDzLM/Tkd4xsuQtl9Ip4Y942IQNeP3XXi5hj/RGn3K/ywVuWQ139JBkFoDbddVse1AcDA5BFmVMA130VFZIOqW8+jS4LehkxvUAeS8LWO7g7HKXbpInIaOvZ4tGog6LJO048xpWnI4emsFVZ8aF7P5uhwqf+jiQkjc5XvypzP45I7g4wjw3lK+7ZP6p+6BE0iQ4XnOV98qNkVn8rG+zZiq3vVuTwyuVeJAnAOYOuRXzJPXO14nWDuK/KgKnv4jqAjJpt19ZCL7siQ1zlv0FClKAwGRkVMoNVX0PiDVqq7nOaBFNlJvq5dCYyFd2J3RjDMxJyb8RF6swhhp9Pe/n1acrO7SuupE5sSAGYyBSn5Kx0UKbCrrxs0YWpgWGCdy5VIdUN2Q/5b0607z4ZQQumdrYGTRGG92uv2ZFCUrCktn5tjYNRdtIEIC5vckbporJd/J2+FuBax/NhthnfhPl5H3dfllKoKqUZvKr1gmONEfPX9UDxxmbr1dYxs4h0os/vwovPcKnpvmCk+5k1qhhNgesuQO3XDgzxHBhW5HAp6svbtMc9/6U0O3GB2z6mZzWzZEB13n6WntFziPGVF3f9Aax7ljxQLkw+w58IQmVT/eiuBoCvSCrqodltXwvTSan+VpBGqfBXYGERg5+Fq4IlqGg9dJC9GxqIDZOpMFjsKe6cWI5rQW+gak87QkughBWt8tB5cWvp1VFAUO8Ynb+U66sF2LDjzYiD9vnG0i71jt3eoMegJl//8zaj24RyDGdiB6/6zcoeW7e8h8Ds6c7CmbusebHaW9SEcV3yl1doE4rYLDyBV8TDE27yojJp6aJQIaMJkpiw+ECRfxVUgAlLg qZfgsDQ8 2TWU1rW1kCrf+bo7OAd3jnqlVW8QI+wbAVwlxk8phBSO9/TI/aMZUBHaVa/N/+Y60OGSLj3b2Ls4h5wZmk2ULkU4xrpRQDz51SmvS6WLMgIlWkGMsnCxIZSpoBuNfI2Gn9RUcJsxBfVz3XUqscAjJbd5pD6VUmayL0ziQ0q2stpR0suPm1osCkHAXp07uzHF9HyvU7t+5oa01u5uXtEz4g00J04DJo7YoYYinf7ReLnybQRBrMPtf10PkEhgYgeRpLZyxRzvpIw/BHXmbLeehybL31lbsvIRgDwpzJmPpyCT/j8dGJZ08aago7vEIpV/NEPeKwL3DLoEDPIYl5J1zq9nYgcj0lVqvq859duN/9PU0rj1XdkDX1oWIxzDezJmP4SQ7ZPd3scZfdVZv9mW/dYkCx4m+sjQwcMXtTSQwi1a5VwRP2WovpZWUMj9vvREyqso9KD3o5N8SMBhFTwQpRxpi8bQMPXKbb2lcUR2YJBHNStHKY0E0MqphYiSeX2M06MQQ5xbVAvl5wlCAfxAK7CBWeEIzIXJj7vdUY6XmplaD0LGRCauXqhMwYiCfaC7O1CsfTu0RDVwjUDNyhWm15y3RyGVfQlPX00Qqe09gcJCsh/W+feL86UXlmLG4Gpqr0T/9fXtbDwx2B/A= 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: + Vlastimil, Liam, Jann as this is VMA-related. We really need to bring all VMA-ish files under the VMA MAINTAINERS block... will maybe address that once things around that file... calm down a bit. But please cc all of us on anything that even vaguely relates to VMAs, thanks! On Sun, Oct 27, 2024 at 02:56:29AM +0000, Wei Yang wrote: > After commit 94d7d9233951 ("mm: abstract the vma_merge()/split_vma() > pattern for mprotect() et al."), if vma_modify_flags() return error, the > vma is set to an error code. This will lead to an invalid prev be > returned. This is a great spot, but this commit message is missing critical details. This is only meaningful for apply_mlockall_flags() which is both ignoring errors AND assuming mlock_fixup(), even on error, is correctly updating the prev state. Which is imo wrong. So I'd _add_ a bit more information here like: Generally this shouldn't matter as the caller should treat an error as indicating state is now invalidated, however unfortunately apply_mlockall_flags() does not check for errors and assumes that mlock_fixup() correctly maintains prev even if an error were to occur. This patch fixes that assumption. We'll also need to backport this, so a: Fixes: 94d7d9233951 ("mm: abstract the vma_merge()/split_vma() pattern for mprotect() et al.") Cc: Needs to be added, and make the next revision [PATCH hotfix 6.12 v2] to make it clear this needs to go to 6.12. > > Signed-off-by: Wei Yang > CC: Lorenzo Stoakes > --- > mm/mlock.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/mm/mlock.c b/mm/mlock.c > index e3e3dc2b2956..8c3f9cf8f960 100644 > --- a/mm/mlock.c > +++ b/mm/mlock.c > @@ -478,11 +478,12 @@ static int mlock_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > /* don't set VM_LOCKED or VM_LOCKONFAULT and don't count */ > goto out; > > - vma = vma_modify_flags(vmi, *prev, vma, start, end, newflags); > - if (IS_ERR(vma)) { > - ret = PTR_ERR(vma); > + *prev = vma_modify_flags(vmi, *prev, vma, start, end, newflags); > + if (IS_ERR(*prev)) { > + ret = PTR_ERR(*prev); > goto out; > } > + vma = *prev; Yeah sorry I hate this, it was icky before and it's kinda disgusting to assign *prev then *prev to vma, then, if success, vma to *prev - yeah that's super confusing :) I mean a better alternative if you were to do this approach would be to have a new vma local but I don't actually think that's the correct approach. Really the caller _must_ deal with errors, and not assume any state is valid after an error occurs. So I think the fix should be in apply_mlockall_flags() instead like: ... for_each_vma(vmi, vma) { ... int error; ... error = mlock_fixup(&vmi, vma, &prev, vma->vm_start, vma->vm_end, newflags); /* Ignore errors, but prev needs fixing up. */ if (error) prev = vma; ... } This is also a smaller delta for backporting. > > /* > * Keep track of amount of locked VM. > -- > 2.34.1 > > I'm happy for you to resubmit like this and take full credit by the way! :) assuming you agree with this approach. This is also reminding me that I need to refactor all this crap, the whole passing prev around and looping like that is horrible. Also the outer loop should be maintaining prev, not the inner one. This is going on my TODO list!