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 E1AE0C77B7C for ; Mon, 23 Jun 2025 17:13:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 666646B00B9; Mon, 23 Jun 2025 13:13:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 637256B00C5; Mon, 23 Jun 2025 13:13:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4FE9A6B00C6; Mon, 23 Jun 2025 13:13:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 40F586B00B9 for ; Mon, 23 Jun 2025 13:13:19 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6E4C91D819A for ; Mon, 23 Jun 2025 17:13:18 +0000 (UTC) X-FDA: 83587311276.12.73EA550 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf21.hostedemail.com (Postfix) with ESMTP id E3E901C0008 for ; Mon, 23 Jun 2025 17:13:14 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="QHGb/txu"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tplxW05k; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf21.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-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750698795; 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=2XIrwbw0h+NJyYGf+Pqv4VpL+/hR5f0JEjTfT9aoRaU=; b=3Gtdn/PPMoou02ON+sue//8GH3xbsITM2nO3oX4pLN77+VlnyJYBPAMYyw3OZJptRMs1Y3 /0jQST+UKrHHlBeGZybyfuFy3JtGePmcTwROr1GXJfAj045n40/cttDIe0bBWYbWRyPzEp jXadmmFVPRA8zzxY7iibGJNdBXy62L0= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750698795; a=rsa-sha256; cv=pass; b=WpzQcltzkOqOtvWhG+GmnGUqvHWyKlijUA6nLbLXrzKNA8o2bwmFhSexSb+uhh4hs3KRe6 kVqqPdtJwal2W2wtzlkY7o3EDXtp8OaOrQI2spmO5i2ov/J7olUWg+JCVsNT8eN9I8LBR2 a2OkRhnr00fdCbHzj3sm0gHDoC5xISk= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="QHGb/txu"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tplxW05k; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf21.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 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 55NGYA41017678; Mon, 23 Jun 2025 17:13:10 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-2025-04-25; bh=2XIrwbw0h+NJyYGf+P qv4VpL+/hR5f0JEjTfT9aoRaU=; b=QHGb/txuZUzRoUWwvzaLWFoBgEPhLUd4ck fZHWxMWSRJpZkiu5BtfqcGOqR2NhATBcKXr34qTL6jZJYUrH14l13JU65o6r0uFP wSvslVxyTGWqTmAPAxNd8UEK/n6CWQAsGeDJ3FpXgCAsBQXL36uUhApmjt6igo7t kp6gREjZx7azpAsdatWhIUZc6DfRlw2Z1+8U66g3VhBtLj/xCw4vkddLsBJ/0KD/ 0KiCQHbuMwSxlbfskdZLYuQShc8aS5erj8S0LXQ9FTCjC/ajzNdvpFHFk5VFOUvc LrsKLeXVHggAmqnadnLcm+sQDt3ViriqiCAz3p2Kkhc36smEtFpw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ds8y37g4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 23 Jun 2025 17:13:09 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 55NGenc1038948; Mon, 23 Jun 2025 17:13:08 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10on2053.outbound.protection.outlook.com [40.107.94.53]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ehr3kx3y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 23 Jun 2025 17:13:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oIErm0Nj+OsgGaGvs98TGvlLFyZ6oc7INYfZWkODRld9yypBZJWUt/QrIvJcVCmBVy7QT1XBjfxEkhkL8GhXYWZh5naRVrHgTiWnD/wgLa6YO8Pjma1f+fHsXEyCd4fzHqKoMBuxezsFUBJPLXKb8LeqNyf0+ThLWC0/R44g37JUtwcE77L22nwsZ7I26LSR42aPcryIPghbrwfgff8WCeCSunaj9TBh4MIhOSyDxBkgqJ2KWkWR8BvBugb9bwd60tp9lIEXIP/0fTWbNrMhbTV+03jHTBhMvhxsvUrfZLbabCJWcn0VRXF+e4aWtfP3s4fGDDE07pynLvAdoVM9Rg== 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=2XIrwbw0h+NJyYGf+Pqv4VpL+/hR5f0JEjTfT9aoRaU=; b=iFdoy8qbEw06hKFtgqtentM//VECzxZA81LHFXOwVCjKxyvN57gTUw6RAKFcztnJZX+GUllrk7GcG1iWe8IEIbORG+sve03aC4sXFMk2B0OyDuvlaZ881xOOJO3SQV8oqyh3o/IjOLOjGgN/ncuPSriVu8vZWCoO5wC+Ql/yGKJmoPJuty4/q15KlyGI//y7zCZvzQjReCi1EdPp7LN0da7v1um5+Z+dMwwY1ZYknz371Yv76qS5NDSLZ9nn9UAj7Gb2HuoqhI9Xxh+sqTUwig8Zto+klvHF8zjrG6M8sFhvmPgjWGh+xdk3EvtiY5CT9kV5TN86vC0S8feOidtChw== 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=2XIrwbw0h+NJyYGf+Pqv4VpL+/hR5f0JEjTfT9aoRaU=; b=tplxW05kJ7XQprev9Y30wmAuorphc3kDSyhq/VuaGFVXJNaWupSrlwG3y/phzQ2BzRcuc8MSygyk78KSPHOj6MDt2oZopLjN/EZblTeZhqlkaokXA5llRa7GzcOniVh6rSlctspK4yWNXOBe4akFpkmIT6DlSlKUEL1LZet/nVI= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ2PR10MB7757.namprd10.prod.outlook.com (2603:10b6:a03:57b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.28; Mon, 23 Jun 2025 17:13:05 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8857.026; Mon, 23 Jun 2025 17:13:05 +0000 Date: Mon, 23 Jun 2025 18:13:02 +0100 From: Lorenzo Stoakes To: Vlastimil Babka Cc: Andrew Morton , "Liam R. Howlett" , David Hildenbrand , Jann Horn , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Colin Cross , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC 2/2] mm, madvise: move prctl_set_vma() to mm/madvise.c Message-ID: References: <20250623-anon_name_cleanup-v1-0-04c94384046f@suse.cz> <20250623-anon_name_cleanup-v1-2-04c94384046f@suse.cz> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250623-anon_name_cleanup-v1-2-04c94384046f@suse.cz> X-ClientProxiedBy: LO4P123CA0601.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:295::21) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ2PR10MB7757:EE_ X-MS-Office365-Filtering-Correlation-Id: ed30f178-7053-4908-f189-08ddb27937d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XKg8YP4PSgzZrOdJa7o7ZXNxVnSbjco0Ft3nSqTApy+Ue67R5HX+a2O3Q75C?= =?us-ascii?Q?woPubhYnIE3xY8qH7QtEdW2Kr6+7O4sbhdZH7Rro7QKXfxKh1zUvm8MjVhbf?= =?us-ascii?Q?9G8eHRDQqIBk91CFfMwtvZg9vauHkdZ9J0czXwHTfWNyojOMx9QsiQa5VEGE?= =?us-ascii?Q?LepWRlbGufeGDbdVCG0dCtZNQ1xrjg8nhemUwOLwjdgT2oHHOKcQU3uyDsRm?= =?us-ascii?Q?x9BhXAgmaxLAtItCK+s556s17YRD9vYpLiRqCmW370PCbzt7ZoPraSLHswcK?= =?us-ascii?Q?c/olznqNdhHe2IE4GUdlWHKtw/Go6v0+AjPeKRl6vurfmbYoNgEL8o9nQcj6?= =?us-ascii?Q?at7J+aluVHf8vOSThLoNpYNNNSfGSlGJLfcQk6+So4NjqO4k2e0SmAj9JKNH?= =?us-ascii?Q?133exNOd8iU9rFsjr5ffWfT4sXI/UHzurRN0JY35mhsedBxiZ2Nvh8C54slq?= =?us-ascii?Q?gpEzlrhs+QjZpn35iyArUUtle+tgqsi4CgYohHoUyb9Bhvs+zr4HIonVM6Is?= =?us-ascii?Q?BowFmjAgzIVh+lSY8UbZXmqhRfz3MKP43I5XGhaqKx83YN2bklLFke0lI4kJ?= =?us-ascii?Q?fEHAJf3fBe4gPXrhx5PPQ46kcYLKfLyBTJSefuqaOLyRGQD+vrEuP7mdbkWA?= =?us-ascii?Q?6OmatgGD1zTf4izHIXDqomHAzGFYmeHBibpXp6Yvy8Yt/d/bgtLZchMnKAfh?= =?us-ascii?Q?u3AKQtwsbUEy4PVK7js82V83U1+dJD0NSAuf8XhIuphZqVXigr6OK6eMGUIp?= =?us-ascii?Q?D200gopzJO00DXFrdw7ZZpmyWWBoZ3fzDx48o1M5oHU+150UDNYMWnHqDzU5?= =?us-ascii?Q?Mrm2P8Ghg2ZjZTR98w54zin5VGqosVYpb8C7Ht5EG5i594zYL8LybWXN46Sv?= =?us-ascii?Q?MtyJBM1oba8RnThXesdLwQeMWW56Ici019wx1zufRBRopUvzP/9qM8SkhVkQ?= =?us-ascii?Q?004yxOqDYv0D1mGtGTaWPxgFMc5RT2TVhsU3HcY2zuZvZkpryunXRYw4gM1V?= =?us-ascii?Q?DKt3AYBEpGyJNgflub9zvYsb/1ewiUP4ylYF4hgBTBqLuyFQ9DDl/DfN1plx?= =?us-ascii?Q?aCEDnzHUD4BhUKa06WE7ZyWWscQZDS556XFRjkxOS6+03Jg8kxsRbezPTFIu?= =?us-ascii?Q?H8yf5VtPEG/ygJ+RP84bUrqgs4Y2yeUC3/R6lmw/JgnMCpMufacqACkumtj1?= =?us-ascii?Q?kHx+7m9n6x//K65aLg6D/2IVNrC/SYHnc7f6zofIrCayiyubqHQl2S/qJyjR?= =?us-ascii?Q?cqjTovYiu1qVpntGSfHsO6D/qKXRevo1TTPPexFERx6Rfh6ljORjbOgHRast?= =?us-ascii?Q?O0hZrGyvIpIIC+lkb2ym9VRgwBVVBX8nv/KfRUgUPwGmDjiYp49hOMlUxRDc?= =?us-ascii?Q?YxjNHc8vx8LGjyBdOpkSamEXNZ9SYHivXm7uzuVSYnlQWMI/MpjwQj9wKizz?= =?us-ascii?Q?LB6guDocFqE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9yzUShSJzo8+8+0z0OSnfKm6Gd68rHQ/iLThtzZmM5yOeeiOlKVv7chlfki/?= =?us-ascii?Q?WYIdlnzmUojwJI8TX3jyWEalqvz8gHM50kZcUFa+xg7nPqXFgPaFfiN7X8Kv?= =?us-ascii?Q?T+z8etwPVdjVYwscDWU7eBXpyN6V4Yh6PuhZzxZtPkU7nmebJ7DTUXJt+rXr?= =?us-ascii?Q?/OXCtMOqbxaDm1JeMB2MFmf4Qw7hHsnUzeaPO3dllEV4U9SZ9d8aWCTK1eVQ?= =?us-ascii?Q?kkvcOMbD8kfOUdwsI4IF5iHNVmmsCIy7OGxp45hn7+Gbl6VBt4dzDT3vXpJ9?= =?us-ascii?Q?0hwqRiP3272mgDNobSZLY2DD1PyQXrzvH0SEdMLBcV0Znxko7mjSEN200ldI?= =?us-ascii?Q?Ts7LZ+fGYpzFG3+GvaX36+WgiuPyuBelh183aBtNfEkqsbHQRSWm30wsHHJB?= =?us-ascii?Q?PH4yARgAzpQfSY7+h3xsJRB4DM8QJPlpYpfzP9GywKYNIsfZ46X57RoO8ucW?= =?us-ascii?Q?OrXra8ptrWR/C+XS+HdHw1TRrJR1owvRpo/SdMHfw3OwPn/LA5DFzZh6fTDM?= =?us-ascii?Q?yYs0SGBq5Zw8XKQ6F7ZWhgUgZSJ6RGKVihH/Vd8C+u0Pam0zlOPwOIc6SjP5?= =?us-ascii?Q?xSjw8TvQ293sujGvzB788s/cgcS8Fs85Fxl9plHhY7gZUtr86eF1S19Q5p2C?= =?us-ascii?Q?Fga9Zp8DYhwAR3l84FNhnYiRZWHzaD40EV6chIzw+8I647XjNRN2+05deMvq?= =?us-ascii?Q?nxkyUx+DpQT8gwfkBtwnvtsQYeVsTCVYJzN0UeBmGXj0RDlegI/k5MhdDFpv?= =?us-ascii?Q?9p3kbSo0/RD9/WyviCLglI0xdpRWx8sP/lCcKdnGxX1ScDmayDM65FDRus5L?= =?us-ascii?Q?+XwWCitoB/NuFfJmT9tGK1/WNotxiCWwBYAjpUrekIbUtzh7huDxj3aXVQYQ?= =?us-ascii?Q?K9m6Mw9a6YHaitBdl+vKj7BHbSR98kMThEsKTCQlCvh17e3ztP1QniPSgCK/?= =?us-ascii?Q?UWpmx9vb/XUCuRcSmGbhSoq8TWmjXubQIfELjD0G6pPpl81NwvRxhu2307Hu?= =?us-ascii?Q?qug9+4y49n/7johiTJ3uwISXyzwI3QwFDAuhP5wR1+HB2RN7k1fomuLo05yx?= =?us-ascii?Q?1fKyCVUT4gaebC+p6UWWW40KuhOP4LqWQTeSFLxOnYP7Fd29mx9FfAwqkGlV?= =?us-ascii?Q?m9vqY6uobiAxNtKtfmmUHycy2e2KE5QCZf2UHIvLSYkbVFOA8wE47rZfyIqz?= =?us-ascii?Q?ouhNLgwCGfOHYY0k5QSCzoOYarnd/TfnogylIULKdWXjHybH/eCcumiF3W57?= =?us-ascii?Q?UI1znUpxsxNi5CecO15r7s5O/4Zu6GcNyriTTX0zyuI3U3NZxmXNJATZfK2F?= =?us-ascii?Q?pM/YyIrCkNrd041eU9Xdd20zOI+mdiDqWVkkAhyjPKiCDUm7nbzpv63kaIA3?= =?us-ascii?Q?QpFLdpNH72YdgcHYWZvliuG62iOHj6Dn+yg52yslU76NNTN2pIIrWT3hreey?= =?us-ascii?Q?EwqVIciThyyCFSUPR9esjrM3TLhoGisRz3nFTYk8Sqkx5w3E8416YYTpWRmQ?= =?us-ascii?Q?+NTikQgCYrf4v4iDar/syAm4X/WMv83UZhZlKSsIWaC9Wue/e1gUG+c44Ewe?= =?us-ascii?Q?r4Oxejqb0w4dZlvG+S+6avYar3J/UMpWNS0CjJNQfm4tfjOu6p26I9wzhYlf?= =?us-ascii?Q?IQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8POISyzll/buetvThWHfPf25CNGa19Q/0IO2ZLM+EmOA4D3/cCbFy3mtQ46xZToxd5f5qiXoFHLilxDpN2qRBpwtXcc+eQYq2r4ibceDSxklje/vG2FEwATHe9qTyJTLouQombrjrb7rQHj8LscRgZmhGYYGlZT1kWPmmJcsvzDUwPPtHbMv7Bp8o18T6et9WiHqSOrv0cOFxQp8ySu8EbJIL7pcelRfVBiz5YZduT6gOTkOgXf66zOpuhNV4K595WgCjvAlh9EK8F6I+KJegtB9pIGJf/kfLEKER1mt9gBq9AtbGx/Xrq2+hXcQ2KA+Tfqp4SAC0nKGKpOt+ZO2e3lqkfhVIL0lLEdY1wov/kQU/vCwHVGsXlhzK+fDz/xRlFfMoyerfAAgmA179d2/LENipbV9s0PmZgYjrr006Dv3PY1LDgmC8orf8nGQQs4NKm9GJ6Ijty65In5OnyxmXbyIsCmOjhRsonbmrB6m1D3GHUmA1R/DgsZbqnPNMe3JBK+w1T4vSLxXdEDw1zlh/EiXDQl447bbqCrTwEsLXpJNaMxhTubXj1YnJ01eiZXvIR2qrnad3AVzoXaXyN6cOIeuowgPrGVLX5QrpEnL42U= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed30f178-7053-4908-f189-08ddb27937d3 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2025 17:13:05.4702 (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: z1UDO9NtPCzU5WWQOWjvYg2l2pvGoc1WxdT+ZDyr7Cyq3pyM5tS/KgAS8wWTSuP6D0+RIWWgVVU5F8dGngco2HwmJxv5XtK9LEqWx8tGG74= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7757 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-23_04,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506230105 X-Proofpoint-ORIG-GUID: -ohAy-RKt2kchnhwDKpl_aPAUQEJV5Lj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIzMDEwNSBTYWx0ZWRfXylsD4SwzYNAK gTwY+GhvZTl5pGFjnLXD5agILW9/VDFb1r1RYQJ1+m2u6rVNxFAX/UnIJkaXG1GRRWOkcYbcND/ fRFvtpBP95x6s7Rmi8OtY/gp4P2i2mDhE0/mnOTAq7aqeA6ORnwwiyqdIL+tmDsvNbKiRzPPv7E tcfaYzefQfFnjMuC2BGIm5f7MG+X7nx22BckoPnhGkY3ZhMONHn73uKz/vonlLOHyUeTiUUx518 78QuM68vo0WpWz/AZcwCO9gltlf1ZzDZoS81yOfqG1Fr9c/p8Pt0QROZSYTiGN+G5NCwVw/TbJn 2+cG1iGeak9a2LwpX+U5RaKmanPk0ifyOT0Oq/y3xDMRSuAKm3LRG/bkhv/E4F2/F4GK2YudNDW F57z7R+cKiMm9IS3lMilwRUcg/XiiJ0J/LZ8gdGWE8Yi88N0xvgx0zg60Tty99L5jLBEFDRd X-Proofpoint-GUID: -ohAy-RKt2kchnhwDKpl_aPAUQEJV5Lj X-Authority-Analysis: v=2.4 cv=PqSTbxM3 c=1 sm=1 tr=0 ts=68598b25 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=9FEJaWzpZznIaBWQvBoA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13206 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E3E901C0008 X-Stat-Signature: f3exj67xrxa6jrq1n1ntsregf5ipsbs8 X-Rspam-User: X-HE-Tag: 1750698794-198550 X-HE-Meta: U2FsdGVkX1/61wxIBzpRoM4R8w1SK2OygqAbG95UkdvWidhzd/N9HZ1NwRfgYmMM1WkwcCdf7veI41BwBEDaF1iX/QI9axDBbd+2EY5oYJ5yREZ+fVsmCRHAB9OvU3woXj4kVmPN/6LtVAFUkxv41N8x4UHjlVV5ooHXRuXzf26v3zUhmXmfphxkKj+gyNY1HkJ8JEhqZQLTELv5wwHUZqsSGRrmfQO8NCKp7Q4NOOTQQU6D/kV4muGnq9+ZdKScZylrLq2K9fbRuFLFpioD0kIhCkQrpty0wgt7xv1plI8mTMQkXi6MVWB6bRskksJDK6ungJSrfRWfpuTMakmEDH3LrOf81vgbRE/juxamdVW0dPXHUi4uHoFr7klY4hB+wq3IqO6UdH/40uAAQh8QafbGGY/c0Rz117HCMPsg339PjakdK62iEzAamuxk9EOp1g5pUnFO1P8/jqyx2UWc7aw6SqNWKoSuK0vTa5Q5v9KErUh3QbyzG1835SG9cN3ileipU/93fbqz1jLomYrJg8L/dwDF8scluUylARenTrwQ4PvrOFPQ/HIsih0BiR57SdjNJsddxwT2H65oxFiQfPMEPSfvYR7iFrFCoCEnNhcIrzSyyZeN1ks+AFJIoGz3ZtKZa9YV6ArdXpuO+7KUkklLtB6MDKQYklA0fo7rZuPXgk7Qeq1L0LcWx43gadqCyeYKLR09gyyIGyJ4uyGwQVuVSxLjuSPU1JsdUU38PQAcGobDqb/v0GuTfkRe5DDSYdCoJBegIJhBllWLh2GCcBSaELc1lAVvS6H0oYfP/aDYmgSl8GGD91QN4PHFNEoE0Rebhv2NqECnBQPDcAeOKb/dOudRJ7PThuuwkj64Jit9F7V4FheGyYfe8adV/0hbMxi0WkYzON+De5LX9b1raujjyoj87rP8K2gOkQ5Omc6czuGVRqgl8mDwjuvk4UtyMzeJcWqCncZNz1Jbg0F 0SvyzQTG c2u50CkCtZjDcygurY5FbvfjkEK0ooz4VuMpPb453Xn19FChHWq/NCtjckdAEYIQPZi67QkXG8qfwJoEM4q4HUT6pbuC0OfOZ0nJOFSO3LvQjo8+mMeJBivYqBRPorndUKWft4EvEslpA3JL9NRjOi611hdoajnRnB/2sbRnXLB71wjXA6DI1YioqYh9uBCsYJkcvFYqulLXgw131zQ5AugpjFfqMhZs9NZ5ni8X6y5yQtr6sg3VKzUznEVtNL/E9Y9AuYR1OgCXGRfueVhZm9XbvhJPTOy/U+HYd5Z9HqVgmF7dx1FjyXZFOgGIwixzQs8ngwBqpcbwe3ULPUftgluh2Vri17nBiDMvQzpHduLTDP5G6f3JeTCb/Jd0o9X6phZSpP/HPo2MuKfEHX+/pKcoICFwa6hXDyr+fb/thM8oBXKNMpoCch6AG9CcOpNSGQA8zrMZ21xuTVvDgziFq7KjKE9WRQrS/UbjAr9E/cG7JMsUacaFrE3Zdrmb/T6zJghqsxQ80YcuWfy9YmxGynf5Jbf/QyWkgDkSt7dEvkxhAFnLlrWT9VlKL2z6GxPo2WCA3tPWizPFW5p1rEC96UG4yK6UcgWSnFJWsC1Csqx4X/FjdRirOnSv07Z0Al+ka4P9nVBuUnKn/sNfTcXhNGM0IlxTwcdI01+nBz2YzSraohCjm2XBMFLTIxL/LyoWAiPkVNE4pel7RcZONxvoBYaLOenJ3zqL75YCH 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: On Mon, Jun 23, 2025 at 04:59:51PM +0200, Vlastimil Babka wrote: > Setting anon_name is done via madvise_set_anon_name() and behaves a lot > of like other madvise operations. However, apparently because madvise() > has lacked the 4th argument and prctl() not, the userspace entry point > has been implemented via prctl(PR_SET_VMA, ...) and handled first by > prctl_set_vma(). > > Currently prctl_set_vma() lives in kernel/sys.c but it's mm code so move > it under mm. mm/madvise.c seems to be the most straightforward place as > that's where madvise_set_anon_name() lives, so we can stop declaring the > latter in the header and instead declare prctl_set_vma(). It's not ideal > as prctl is not madvise, but that's the reality we live in, as described > above. > > Signed-off-by: Vlastimil Babka To be clear I also very much love what you're doing here too, but again feel we can tweak this :P See below... > --- > include/linux/mm.h | 13 +++++------ > kernel/sys.c | 64 ------------------------------------------------------ > mm/madvise.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++-- > 3 files changed, 63 insertions(+), 73 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 0e0549f3d681f6c7a78e8dfa341a810e5a8f96c1..1f8c2561c8cf77e9bb695094325401c09c15f3e6 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -4059,14 +4059,13 @@ unsigned long wp_shared_mapping_range(struct address_space *mapping, > #endif > > #ifdef CONFIG_ANON_VMA_NAME > -int madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > - unsigned long len_in, > - struct anon_vma_name *anon_name); > +int prctl_set_vma(unsigned long opt, unsigned long start, > + unsigned long size, unsigned long arg); > #else > -static inline int > -madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > - unsigned long len_in, struct anon_vma_name *anon_name) { > - return 0; > +static inline int prctl_set_vma(unsigned long opt, unsigned long start, > + unsigned long size, unsigned long arg) > +{ > + return -EINVAL; > } > #endif > > diff --git a/kernel/sys.c b/kernel/sys.c > index adc0de0aa364aebb23999f621717a5d32599921c..247d8925daa6fc86134504042832c2164b5d8277 100644 > --- a/kernel/sys.c > +++ b/kernel/sys.c > @@ -2343,70 +2343,6 @@ int __weak arch_lock_shadow_stack_status(struct task_struct *t, unsigned long st > > #define PR_IO_FLUSHER (PF_MEMALLOC_NOIO | PF_LOCAL_THROTTLE) > > -#ifdef CONFIG_ANON_VMA_NAME > - > -#define ANON_VMA_NAME_MAX_LEN 80 > -#define ANON_VMA_NAME_INVALID_CHARS "\\`$[]" > - > -static inline bool is_valid_name_char(char ch) > -{ > - /* printable ascii characters, excluding ANON_VMA_NAME_INVALID_CHARS */ > - return ch > 0x1f && ch < 0x7f && > - !strchr(ANON_VMA_NAME_INVALID_CHARS, ch); > -} > - > -static int prctl_set_vma(unsigned long opt, unsigned long addr, > - unsigned long size, unsigned long arg) > -{ > - struct mm_struct *mm = current->mm; > - const char __user *uname; > - struct anon_vma_name *anon_name = NULL; > - int error; > - > - switch (opt) { > - case PR_SET_VMA_ANON_NAME: > - uname = (const char __user *)arg; > - if (uname) { > - char *name, *pch; > - > - name = strndup_user(uname, ANON_VMA_NAME_MAX_LEN); > - if (IS_ERR(name)) > - return PTR_ERR(name); > - > - for (pch = name; *pch != '\0'; pch++) { > - if (!is_valid_name_char(*pch)) { > - kfree(name); > - return -EINVAL; > - } > - } > - /* anon_vma has its own copy */ > - anon_name = anon_vma_name_alloc(name); > - kfree(name); > - if (!anon_name) > - return -ENOMEM; > - > - } > - > - mmap_write_lock(mm); > - error = madvise_set_anon_name(mm, addr, size, anon_name); > - mmap_write_unlock(mm); > - anon_vma_name_put(anon_name); > - break; > - default: > - error = -EINVAL; > - } > - > - return error; > -} > - > -#else /* CONFIG_ANON_VMA_NAME */ > -static int prctl_set_vma(unsigned long opt, unsigned long start, > - unsigned long size, unsigned long arg) > -{ > - return -EINVAL; > -} > -#endif /* CONFIG_ANON_VMA_NAME */ > - > static inline unsigned long get_current_mdwe(void) > { > unsigned long ret = 0; > diff --git a/mm/madvise.c b/mm/madvise.c > index ae29395b4fc7f65a449c5772b1901a90f4195885..4a8e61e2c5025726bc2ce1f323768c5b25cef2c9 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -31,6 +31,7 @@ > #include > #include > #include > +#include > > #include > > @@ -134,8 +135,8 @@ static int replace_anon_vma_name(struct vm_area_struct *vma, > return 0; > } > > -int madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > - unsigned long len_in, struct anon_vma_name *anon_name) > +static int madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > + unsigned long len_in, struct anon_vma_name *anon_name) > { > unsigned long end; > unsigned long len; > @@ -165,6 +166,60 @@ int madvise_set_anon_name(struct mm_struct *mm, unsigned long start, > madv_behavior.range.end = end; > return madvise_walk_vmas(&madv_behavior); > } > + > +#define ANON_VMA_NAME_MAX_LEN 80 > +#define ANON_VMA_NAME_INVALID_CHARS "\\`$[]" > + > +static inline bool is_valid_name_char(char ch) > +{ > + /* printable ascii characters, excluding ANON_VMA_NAME_INVALID_CHARS */ > + return ch > 0x1f && ch < 0x7f && > + !strchr(ANON_VMA_NAME_INVALID_CHARS, ch); > +} > + > +int prctl_set_vma(unsigned long opt, unsigned long addr, > + unsigned long size, unsigned long arg) So I'd really really like to quarantine the absolutely disgusting prctl() stuff in kernel/sys.c. I hate to see this opt, addr, size, arg yuckity yuck yuck here. > +{ > + struct mm_struct *mm = current->mm; > + const char __user *uname; > + struct anon_vma_name *anon_name = NULL; > + int error; > + > + switch (opt) { > + case PR_SET_VMA_ANON_NAME: So I'd like to copy just the below over to madvise - we can decide to move stuff around _later_ since it's really weird to have all the anon_vma_name stuff live in madvise (apart from the stuff in include/linux/mm-inline.h obv) - but I think that can be a follow-up patch. I'd like to then split out bits and pieces to make this less yucky too. Maybe add anon_vma_name_from_user() grabbing the characters, doing the strndup_user() etc., have it call a new anon_vma_name_validate() static function which does the is_valid_name_char() check against all chars, etc. > + uname = (const char __user *)arg; > + if (uname) { > + char *name, *pch; > + > + name = strndup_user(uname, ANON_VMA_NAME_MAX_LEN); > + if (IS_ERR(name)) > + return PTR_ERR(name); > + > + for (pch = name; *pch != '\0'; pch++) { > + if (!is_valid_name_char(*pch)) { > + kfree(name); > + return -EINVAL; > + } > + } > + /* anon_vma has its own copy */ > + anon_name = anon_vma_name_alloc(name); Right now I find the fact that we do this in prctl() super gross. Same with mmap_write_lock(), anon_vma_name_put() etc. etc. below. It's just mm logic in a random place. Obviously you're fixing this either way :) but just to make the point :P > + kfree(name); > + if (!anon_name) > + return -ENOMEM; > + > + } > + > + mmap_write_lock(mm); > + error = madvise_set_anon_name(mm, addr, size, anon_name); > + mmap_write_unlock(mm); > + anon_vma_name_put(anon_name); > + break; > + default: > + error = -EINVAL; > + } > + > + return error; > +} > #else /* CONFIG_ANON_VMA_NAME */ > static int replace_anon_vma_name(struct vm_area_struct *vma, > struct anon_vma_name *anon_name) > > -- > 2.50.0 >