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 69099E77170 for ; Wed, 4 Dec 2024 20:43:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C20DA6B0082; Wed, 4 Dec 2024 15:43:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BD0A36B0083; Wed, 4 Dec 2024 15:43:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A70E96B0085; Wed, 4 Dec 2024 15:43:32 -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 88E786B0082 for ; Wed, 4 Dec 2024 15:43:32 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E558D12123F for ; Wed, 4 Dec 2024 20:43:31 +0000 (UTC) X-FDA: 82858451928.18.51224EF Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf07.hostedemail.com (Postfix) with ESMTP id 2455940010 for ; Wed, 4 Dec 2024 20:43:14 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t32uNqOF; spf=pass (imf07.hostedemail.com: domain of alx@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alx@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=1733345003; 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=xDlmhXI41QrGNND3j2/r9h0Uk/pzYoPGq5CoyYl1/v4=; b=HwSeshjCmGG7p/m9tiVnEhJJDxC6vdtg/KcIo2J+DL0CAzUGP77JcitBq2q5Yl2mpm96ZL bQVM+SLOMgzVdHpAoKk+yXkcc65eDt7AgFt6PPZSQebqbfTSuj5RyTpXZ+gLFLGD0edD7/ qLTKayNCydwWnY36PTkW0V7W5xRX098= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733345003; a=rsa-sha256; cv=none; b=qwMGVHMCWi1Pd4M/rzdgf9OxffZk17pF0EPfkLCcuIYCVr9SdUGkM9lhKqjLRTm/BHOs0n 5YDxETA/pKkrxEmVESATIteYl8esJPt1nRTLhGxNZleRDFi0yFdymr2eiRFZ5G2xu36rmI acIRED1CEe9K+6bcql5IDn77JWttKv8= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t32uNqOF; spf=pass (imf07.hostedemail.com: domain of alx@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alx@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 4F1415C7040; Wed, 4 Dec 2024 20:42:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C9E3C4CECD; Wed, 4 Dec 2024 20:43:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1733345008; bh=XR5muXRsoiKL66/IaC2dfHb2T6zawUsttrsyRerIvSY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=t32uNqOFTtw6qocbjbN8Pxuw5DAuxok0WzkUp6HusWphwdmMPE8wtr8F53WDc6DUe Iihafoeom05n6Ycm8fuAyVMJq3QV6WoHwcsBuisrujWyGdcEk5leALVzE2+YTO3xMq tKSRByVuJbWgmk+vBHVqSSUpuYSQvQRSBGxJIc/WlpvzAhS+FmBY48Ffwjliv5EjgA WDDLw0rmyM/82zpAn5WEmpkqO1oMO/uAs6thx7ZyjzvUlsiSV00fGatgHCqy0wcX3T 3/EcfpknCihRPexV6Jyy0hUx6Vd+Vf9RFY2IFV4QG6mVXZ2dFu/xNwedmcLcq6msiv 8PSp/sl9UKHoQ== Date: Wed, 4 Dec 2024 21:43:25 +0100 From: Alejandro Colomar To: Lorenzo Stoakes Cc: linux-man@vger.kernel.org, Suren Baghdasaryan , "Liam R . Howlett" , Matthew Wilcox , Vlastimil Babka , Jann Horn , linux-mm@kvack.org Subject: Re: [PATCH man-pages v3] madvise.2: add MADV_GUARD_INSTALL, MADV_GUARD_REMOVE description Message-ID: <20241204204325.duakx2b2x6d5ci7s@devuan> References: <20241202165829.72121-1-lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="yjqig6nxssy37vh4" Content-Disposition: inline In-Reply-To: <20241202165829.72121-1-lorenzo.stoakes@oracle.com> X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2455940010 X-Stat-Signature: j7tcezksckzk85j1iij7zpztyooxjr9p X-Rspam-User: X-HE-Tag: 1733344994-779598 X-HE-Meta: U2FsdGVkX1/iUQstgR9vrgJn9S+sgNAGj8kNeCc6/+2/CRkjbq+NM/YowWy8WX9O5ZVMYZjSN8xBs7/vyhLgsYEwZTDOoHCKpCQ/xO1y9G1O0Jfgzu48Mc4mfEGjT+deu9kbDTw5EKgI+M+1uWFS+xKk4VY6Zr/eoctBuLgyU84pofkgZy3Y1S1jofY53+W8KJsZHvNCIkwPeCb4b6fRbW1rpzVjboV/FlSx1izJvGDMtK7FvzvC/0jg2+9wmf2bZtZ4YbIwGab36QoZ9hbaUGlTLy7Y8OYKih2BHwQf3xiowQygwUh9Q+xIrNGqO4kS4/fehri7mvmxlUmrESctcHkas+Wdo0Qve1Wgf/lvcGiX0jjBUSbl+AirIAeaaEZemJ9qAuQsYgaA+QAWqHW3A3sZxJQsus4UDG/SDviuowLBVn4FlH0okWbQ/3j2wXgf2zXijzPjJAKtm6HkzTnaLd5LKw1FDxw4fUnO/5T2yFsSkZVvwvXFXnzaUTiYB6WpdM2GKCEtXJNll9GnQ1SwErM7bI0LWQPxrfnDp9BDF+nrufw2G20oTC2p7cuUHtHJ5XZkCcvHswT+XXcSHvza66B1EGCXybfngtmwl2Ni7kysXFLjjYppT5jR09NmGQYnaTvo7mZQGwVjGoa67yicjun/sJS5cR9cNDseCrgMb9eP9dK9HmN5V2mCqLuPicQaKfr8Ia6n0t+cvsTHVPPFZvJuOL6LwwxQUWijlfWt+5aJHHrfL40oBDn1uvExerCobGp9pODdIS+NiZBs+hOA2Y9byJWTtuiAxXoq6D0PS5wWVRs6kbhnIhUerPSI8K6WFfr8jTSymCVZAne9jSEF1xQVyv3uCFNCGF/nx5MSxYXRBz5v68KdDQJ0E/Joduqh1EqMTnKRLubwFIHcOyQf8UwRrYlENcR8GirCRffoz4fKrYqjxeL0bIf9X3fJEX0ZTs5zBnaMhkhF9PHcFp8 XEiuJ+Ar /Ec937K9bFUNCwmcM/idRswyemoyF1Suxaaf2JeGCZR6inWnfZ4iCCWD0DdysJph/X2hz5TYlfKEfZ2tGvFAO7cXwXocfp40/kHrsPETa133jCCEWSRbFcmsBIDE9RH65TyrI2GcMfhvuxpItmhzle2w0A422WHNPGsKgWfOBnqmSRDQx7zCk8kj5FAIiumZmBalMG64Qm/BOyJWqK+apljqTVVki+1aKh/BsT7YxO35t3O1UTl1I9eklkkFZqLS4uoYXsE8o+bzO4Mg/FdAUh2fYBIamwVPYqMCIwUa9JjYOPQDDlK1FXPyqsZZOhxtBVO8W0WYeoRIEIEnYie/j+FOGO2KZncsHbf4/L6IZeWfa/hpzT0Ns0Br8Wns0Q8I37Ro+N3UNQhMzkazJIi40IarP9nxmdPZ+HJYt8ExU0Aq1+b1TvK15r9yxLgUZ2qYfvSkIk6WUqpEz3APgprIukwau1Uf98HdB2tZkBw6RBzv8a89e3Q7fXxcojA== 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: --yjqig6nxssy37vh4 Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH man-pages v3] madvise.2: add MADV_GUARD_INSTALL, MADV_GUARD_REMOVE description MIME-Version: 1.0 Hi Lorenzo, On Mon, Dec 02, 2024 at 04:58:29PM +0000, Lorenzo Stoakes wrote: > Lightweight guard region support has been added to Linux 6.13, which adds > MADV_GUARD_INSTALL and MADV_GUARD_REMOVE flags to the madvise() system > call. Therefore, update the manpage for madvise() and describe these > operations. >=20 > Signed-off-by: Lorenzo Stoakes Thanks for the patch! A few minor comments below. > --- > v3: > * Don't describe SIGSEGV as a fatal signal as per Jann. >=20 > v2: > * Updated to use semantic newlines as suggested by Alejandro. > * Avoided emboldening parens as suggested by Alejandro. > * One very minor grammatical fix. > https://lore.kernel.org/all/20241129155943.85215-1-lorenzo.stoakes@oracle= =2Ecom >=20 > v1: > https://lore.kernel.org/all/20241129093205.8664-1-lorenzo.stoakes@oracle.= com >=20 > man/man2/madvise.2 | 93 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 93 insertions(+) >=20 > diff --git a/man/man2/madvise.2 b/man/man2/madvise.2 > index 4f2210ee2..4cb5e7302 100644 > --- a/man/man2/madvise.2 > +++ b/man/man2/madvise.2 > @@ -676,6 +676,91 @@ or secret memory regions created using > Note that with > .BR MADV_POPULATE_WRITE , > the process can be killed at any moment when the system runs out of memo= ry. > +.TP > +.BR MADV_GUARD_INSTALL " (since Linux 6.13)" > +Install a lightweight guard region into the range specified by > +.I addr > +and > +.IR size , > +causing any read or write in the range to result in a > +.B SIGSEGV > +signal being raised. > +.IP > +If the region maps memory pages they will be cleared as part of the oper= ation, > +though if > +.B MADV_GUARD_INSTALL > +is applied to regions containing pre-existing lightweight guard regions, > +they are left in place. > +.IP > +This operation is only supported for writable anonymous private mappings= which > +have not been mlock'd. > +An > +.B EINVAL > +error is returned if it is attempted on any other kind of mapping. > +.IP > +This operation is more efficient than mapping a new region of memory > +.BR PROT_NONE , > +as it does not require the establishment of new mappings, > +instead regions of an existing mapping simply have their page tables > +manipulated to establish the desired behavior. > +No additional memory is used. > +.IP > +Lightweight guard regions remain on fork > +(except for any parts which have had > +.B MADV_WIPEONFORK > +applied to them), > +and are not removed by > +.BR MADV_DONTNEED , > +.BR MADV_FREE , > +.BR MADV_PAGEOUT , > +or > +.BR MADV_COLD . > +.IP > +Attempting to > +.BR mlock () We should specify the chapter in the manual: (2) > +lightweight guard regions will fail, > +as will > +.B MADV_POPULATE_READ > +or > +.BR MADV_POPULATE_WRITE . > +.IP > +If the mapping has its attributes changed, > +or is split or partially unmapped, > +any existing guard regions remain in place > +(except if they are unmapped). > +.IP > +If a mapping is moved using > +.BR mremap (), Same here. > +lightweight guard regions are moved with it. > +.IP > +Lightweight guard regions are removed when unmapped, > +on process teardown, > +or when the > +.B MADV_GUARD_REMOVE > +operation is applied to them. > +.TP > +.BR MADV_GUARD_REMOVE " (since Linux 6.13)" > +Remove any lightweight guard regions which exist in the range specified = by > +.I addr > +and > +.IR size . > +.IP > +All mappings in the range other than lightweight guard regions are left = in place > +(including mlock'd mappings). > +The operation is, > +however, > +only valid for writable anonymous private mappings, Wouldn't it be better to say "valid only" instead of "only valid"? (Non-native speaker here, though.) Have a lovely night! Alex > +returning an > +.B EINVAL > +error otherwise. > +.IP > +When lightweight guard regions are removed, > +they act as empty regions of the containing mapping. > +Since only writable anonymous private mappings are supported, > +they therefore become zero-fill-on-demand pages. > +.IP > +If any transparent huge pages are encountered in the operation, > +they are left in place. > .SH RETURN VALUE > On success, > .BR madvise () > @@ -787,6 +872,14 @@ or > or secret memory regions created using > .BR memfd_secret(2) . > .TP > +.B EINVAL > +.I advice > +is > +.B MADV_GUARD_INSTALL > +or > +.BR MADV_GUARD_REMOVE , > +but the specified address range contains an unsupported mapping. > +.TP > .B EIO > (for > .BR MADV_WILLNEED ) > -- > 2.47.1 --=20 --yjqig6nxssy37vh4 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmdQvuwACgkQnowa+77/ 2zKLSA/9G2cUNwzbArc7HOxWxnsWYMFZfEa3noxMAksVsAtuBIywCVNNAeBj2QBh ohmFPRFGnV6jJflvuCOVCupAmRK5WxucKkQHJGyQfGy+OaQ33kTYzjijqyBZSTqX dX7GXgOIiYHC/oxXy1fsNE+PWDl8wsTiSlXNMJ56xedzEPLFkuAI//1I9lkPYaB+ gRGkFOD9+TB/6/g5FjmfQAmEeeIMtVl+TviJKBCvzHiKm9EymVRU/FxORWBJzPvS +BRlTe7A461tdIA4fCgKkQu7Q/uZgLmXS6Mgu31RiOee5ENSA9OR6AoPxZhXqiKo h9BEBRRuc3k0+H3sf0T22ZU4QF5accxBgH+s+T+/kdFglg81KXYnnoIW5Cy28wcT SfP8IAksdJhhnlH6XyTPAXBaNs6GtZ4MKsSieN/JKyyR+UeW6mW5tg9/k70TNbpg fVEYAHw1WFzMWWZtNZrZB503QI0rIyYXu/xQ8mklLs/2Oc9IQPKU9VNhYGCEo99D RIST5ulO8iM4lGltbvXFQkO4pxy75KKu2kzl//7nQ+B0KQf7FSTGw+zk6Ev25Gf6 iNfgrhOzCQHdWw0TrU46YE8lhX+yjL7soW8NGzW+ZEOevaiRMIv7IfqBQ01eoo01 kByhZACWwqzcS8hPn4lbkoS3bEpIWuzZLG3S9PzaJR2wUmG9Yhk= =bpqb -----END PGP SIGNATURE----- --yjqig6nxssy37vh4--