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 607A5CEBF80 for ; Fri, 27 Sep 2024 08:04:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E26CF6B00B8; Fri, 27 Sep 2024 04:04:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DAF026B00B9; Fri, 27 Sep 2024 04:04:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C295F6B00BA; Fri, 27 Sep 2024 04:04:35 -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 9A7B06B00B8 for ; Fri, 27 Sep 2024 04:04:35 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5142E1C658A for ; Fri, 27 Sep 2024 08:04:35 +0000 (UTC) X-FDA: 82609781310.08.456638F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id 3318D80014 for ; Fri, 27 Sep 2024 08:04:32 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="NH/4lZyo"; spf=pass (imf02.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727424209; a=rsa-sha256; cv=none; b=8pcVYtnD4Zh7TijcjJHty1rP5tMjEh6GGwJHUX3Qh57bKl4HNABbSfYXpJUfO+nCFqeyuq NzsG494eHeGQOOvYNm6wfYp87/BKumGM0oCmpcfjpgMDc2Rys2WW2W4AKf+dqhO8WiWHjG UhplDMgniiJqNhnuyfbCruc2oxfFqoo= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="NH/4lZyo"; spf=pass (imf02.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727424209; 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=5jq42QQ7MmETzEpILzCVaJdw8lAVS8WN2OiWApa3mtI=; b=cYROfqDAYCiF9VYH0gbZ0iyu4m1UQsHKpUuzGZIEAIw6aTJSY1HCpSlN6ZRvjVk73NINLl cnzp5ykITLivITvzRs2UGNm/9pSm6Mmtw9kwJQ24MZFuP3ma/hgf2AosExVKs4dXcV5ERL QNOVDQGtw/1oWAYX8yDZOXMoWRFI1pw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 3E4315C5A34; Fri, 27 Sep 2024 08:04:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7B31C4CEC4; Fri, 27 Sep 2024 08:04:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1727424270; bh=KRoK09mrYFt+ZHNObGEBtgUTdYCfNIO/7g2Oy/4Ww/c=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=NH/4lZyoobCtCmNARTQET5nKiKofDjaWwXU9zslg3Ltmmyu5f/kBXVPQV9L3DPpN4 HPI8Aghbow0U5EYY3Es/KQ2QV1CTSsoJ3C7c5koSPz6TRUTPEPNlG8bMyB1IIITZZV nZ388LdNXktPxrCEi9kSLyOJi09kfAJGl9WwA7/l7JfRiE16cL2EdmsTbj65U9zENH pvwFPqe+k4yMx6u51ThJFLUPIWoDrEz9TOZgsI4kuiK6sNrObATzCZbCaOOz5vODYD fArfwxCf0KjTU2wCVkkpAwP9Cq8SalNI38nM2eBM6ioPtESgQxM76YZ/ffrVCzAuHg EjklLXjhbhDxw== Date: Fri, 27 Sep 2024 10:04:25 +0200 From: Christian Brauner To: Shakeel Butt Cc: Lorenzo Stoakes , Andrew Morton , Vlastimil Babka , "Liam R . Howlett" , Suren Baghdasaryan , Arnd Bergmann , linux-api@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim , pedro.falcato@gmail.com Subject: Re: [PATCH v3] mm/madvise: unrestrict process_madvise() for current process Message-ID: <20240927-holzlatten-karierte-2f1e5c0af19d@brauner> References: <20240926151019.82902-1-lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Stat-Signature: amj8q8yrqdd1bxz9o63cqodmtj7xaydk X-Rspamd-Queue-Id: 3318D80014 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1727424272-757057 X-HE-Meta: U2FsdGVkX1/F3xg61P+jsZvdcT0AzzT3Pwuo0+1k1V2SrSD0c/tbsaxq3f7zzvl0JeOKw3V9F2ClK9GIIA4XqQIhor3VTPHjbaSp18BtApYOaFc2OphKWzFMgqDEDji5qUW3dFEGjrHdiolAnF3sQB+86HqJNZgorHcb8hpz03TlvDpF2RVIGzcNcW+Ak1G+V9xfmtvrDAznsfRPuKWsk6prAYX5o7oPexig8Gf9J0al+3o59fHe5DYr0Z1rVW+6Bw1hUBAuqo+g9Ca1GDXwvfCc55YkexkUhGm96n6Ysd5ZopreoRpL5XFWyH4s1CZeN58VC6iwtlUn/5L+FAIFyJ//mrHe0gTJGU/HLp4HComPSJ1EiIkm/8LtIK0ccIE5KIPpwjsw9luP/s9EmarNRlWFMAVZQlenI/34Cvcbw9HcuT594BriQ8GO+CSCHFWiILXuOqg6AFDjjhQtoqJWRMwhROU3i8YJcEXyPxchhc3fMYQC6a2TFS1pRXLDi5s3nsIHmMGT6PM9F34LZzaxuFxnquaYFX1eKEYJ9C9hGFb2nl2ngeoqgQVu14NOluNSsgqXP+PO0zaXvC7guDDT1zOCAth0Bci1d9Blpi6Qn56hlywsF0EDF0aAKMLfGv+LgqOd/aFc4tdIPOT56P1HfizchhHsVLYcTGvHSKcGM2Bbl083+HgKAnlu+OUQzRFAfMIAWtiHkAwZhkjsH40rJXIxnhGPv1UjAsI+sjcKHDLnpxWLuAsMnHMD1td+Y/Zv8RXhKNiZa2dxHgnPx5b1Pva2yBj2N+okz5z++0RGvBGjsuUmv9ALdDrOf9CzxW7d+eWXtuQYJ5dJpkC+P1uZ1Nspw1YFEi9aYZmK3Sx3XvQX5WX1KRCyxg3FXLg1AmoHXt1J6BCh50WmzcP1MjtGZ8EswIHdS9QuNJYDAu63MvMrQFEKKMSdwn6GU5aho4sLdDJO220fIe0V8eL3I/T ajJSmpst zrCM8yLdveFHtcp/zNPFGTAX5MgZXy4qvQSD9X/D83IAutfe1IKJ4KyEb/XXEryIKHFCQRQloVcy8NjbWyCo+/PW5P8yTInqUg+0uEdJPsHJI2wNqbNGHYVgPD3gdyeqMkl7Hv85lQ8vU/xB6wR7VY/ClhjLKGI02T6LfLi81kCXFGByZdHhLKe4e/iS9OxTnSanBnm0nxCzUM0Zu3GX6ikYoWW2lN9kJFxIkF8HnMhSncnU01DGCIVwwunztR8CU1gkXNMQ2fN9Ta8m7tfeusuRDSS2X/rOTCoMxw1E6WAYLEGNZ64aRwFajsZ1n+friOlHgMQJL3SNWeUpGc9YWEXbZ3R4CplGs+fcv7rC77h34F2V1Kic4MqIOZ4AI/AXO9zPFMAs94ETRCwen/rbWZfBGf4jXXrMs7BAEaW9EJA2kFCk1QJ/elex52qg6UEamxWuU 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 Thu, Sep 26, 2024 at 08:52:32AM GMT, Shakeel Butt wrote: > On Thu, Sep 26, 2024 at 04:10:19PM GMT, Lorenzo Stoakes wrote: > > The process_madvise() call was introduced in commit ecb8ac8b1f14 > > ("mm/madvise: introduce process_madvise() syscall: an external memory > > hinting API") as a means of performing madvise() operations on another > > process. > > > > However, as it provides the means by which to perform multiple madvise() > > operations in a batch via an iovec, it is useful to utilise the same > > interface for performing operations on the current process rather than a > > remote one. > > > > Commit 22af8caff7d1 ("mm/madvise: process_madvise() drop capability check > > if same mm") removed the need for a caller invoking process_madvise() on > > its own pidfd to possess the CAP_SYS_NICE capability, however this leaves > > the restrictions on operation in place. > > > > Resolve this by only applying the restriction on operations when accessing > > a remote process. > > > > Moving forward we plan to implement a simpler means of specifying this > > condition other than needing to establish a self pidfd, perhaps in the form > > of a sentinel pidfd. > > > > Also take the opportunity to refactor the system call implementation > > abstracting the vectorised operation. > > > > Signed-off-by: Lorenzo Stoakes > > Acked-by: Shakeel Butt > > > --- > > v3: > > * Avoid introducing PR_MADV_SELF and defer a non-pidfd version until later. > > Seems like a good plan to decouple this patch from PR_MADV_SELF vs > PIDFD_SELF decision. I am hoping to see the follow up patch as well. PIDFD_SELF should absolutely not be a per-system call thing. It should be generic across all pidfd based system calls similar to AT_FDCWD. IOW, that should be in: include/uapi/linux/pidfd.h #define PIDFD_SELF -200