public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
* Issue in man page  PR_SET_MDWE.2const
@ 2025-12-24 14:38 Helge Kreutzmann
  2025-12-25 20:54 ` Alejandro Colomar
  0 siblings, 1 reply; 5+ messages in thread
From: Helge Kreutzmann @ 2025-12-24 14:38 UTC (permalink / raw)
  To: alx; +Cc: mario.blaettermann, linux-man

Without further ado, the following was found:

Issue:     mapping protections → mapping ?

"New memory mapping protections can't be writable and executable.  Non-"
"executable mappings can't become executable."

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Issue in man page  PR_SET_MDWE.2const
  2025-12-24 14:38 Issue in man page PR_SET_MDWE.2const Helge Kreutzmann
@ 2025-12-25 20:54 ` Alejandro Colomar
  2026-01-16 10:11   ` Catalin Marinas
  0 siblings, 1 reply; 5+ messages in thread
From: Alejandro Colomar @ 2025-12-25 20:54 UTC (permalink / raw)
  To: Florent Revest, Catalin Marinas, Helge Kreutzmann
  Cc: mario.blaettermann, linux-man

[-- Attachment #1: Type: text/plain, Size: 1908 bytes --]

Hi Helge, Florent, Catalin,

On Wed, Dec 24, 2025 at 02:38:23PM +0000, Helge Kreutzmann wrote:
> Without further ado, the following was found:
> 
> Issue:     mapping protections → mapping ?
> 
> "New memory mapping protections can't be writable and executable.  Non-"
> "executable mappings can't become executable."

That text was added in

	commit 457ca4a9ae3eae9835a5c011851c4eb88b49d322
	Author: Florent Revest <revest@chromium.org>
	Date:   Wed Oct 11 13:47:44 2023 +0200

	    prctl.2: Document PR_SET_MDWE and PR_GET_MDWE
	    
	    Memory-Deny-Write-Execute is a W^X process control originally introduced
	    by Joey Gouly.  I'm the author of the PR_MDWE_NO_INHERIT flag.
	    
	    Signed-off-by: Florent Revest <revest@chromium.org>
	    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
	    Signed-off-by: Alejandro Colomar <alx@kernel.org>

So let's ask the author and reviewer.  The manual page says:

	$ mansect DESCRIPTION man/man2const/PR_SET_MDWE.2const \
	| MANWIDTH=64 man /dev/stdin \
	| cat;
	PR_SET_MDWE(2const)                         PR_SET_MDWE(2const)

	DESCRIPTION
	     Set the calling process’ Memory‐Deny‐Write‐Execute protec‐
	     tion  mask.  Once protection bits are set, they can not be
	     changed.

	     mask must be a bit mask of:

	     PR_MDWE_REFUSE_EXEC_GAIN
		    New memory mapping protections  can’t  be  writable
		    and  executable.  Non‐executable mappings can’t be‐
		    come executable.

	     PR_MDWE_NO_INHERIT  (since Linux 6.6)
		    Do not propagate MDWE protection to child processes
		    on fork(2).   Setting  this  bit  requires  setting
		    PR_MDWE_REFUSE_EXEC_GAIN too.

	Linux man‐pages (unreleased) (date)         PR_SET_MDWE(2const)

Do you agree with the wording fix proposal?


Have a lovely night!
Alex

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Issue in man page  PR_SET_MDWE.2const
  2025-12-25 20:54 ` Alejandro Colomar
@ 2026-01-16 10:11   ` Catalin Marinas
  2026-01-16 12:39     ` Alejandro Colomar
  0 siblings, 1 reply; 5+ messages in thread
From: Catalin Marinas @ 2026-01-16 10:11 UTC (permalink / raw)
  To: Alejandro Colomar
  Cc: Florent Revest, Helge Kreutzmann, mario.blaettermann, linux-man

Hi Alejandro,

On Thu, Dec 25, 2025 at 09:54:46PM +0100, Alejandro Colomar wrote:
> On Wed, Dec 24, 2025 at 02:38:23PM +0000, Helge Kreutzmann wrote:
> > Without further ado, the following was found:
> > 
> > Issue:     mapping protections → mapping ?
> > 
> > "New memory mapping protections can't be writable and executable.  Non-"
> > "executable mappings can't become executable."
> 
> That text was added in
> 
> 	commit 457ca4a9ae3eae9835a5c011851c4eb88b49d322
> 	Author: Florent Revest <revest@chromium.org>
> 	Date:   Wed Oct 11 13:47:44 2023 +0200
> 
> 	    prctl.2: Document PR_SET_MDWE and PR_GET_MDWE
> 	    
> 	    Memory-Deny-Write-Execute is a W^X process control originally introduced
> 	    by Joey Gouly.  I'm the author of the PR_MDWE_NO_INHERIT flag.
> 	    
> 	    Signed-off-by: Florent Revest <revest@chromium.org>
> 	    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> 	    Signed-off-by: Alejandro Colomar <alx@kernel.org>
> 
> So let's ask the author and reviewer.  The manual page says:
> 
> 	$ mansect DESCRIPTION man/man2const/PR_SET_MDWE.2const \
> 	| MANWIDTH=64 man /dev/stdin \
> 	| cat;
> 	PR_SET_MDWE(2const)                         PR_SET_MDWE(2const)
> 
> 	DESCRIPTION
> 	     Set the calling process’ Memory‐Deny‐Write‐Execute protec‐
> 	     tion  mask.  Once protection bits are set, they can not be
> 	     changed.
> 
> 	     mask must be a bit mask of:
> 
> 	     PR_MDWE_REFUSE_EXEC_GAIN
> 		    New memory mapping protections  can’t  be  writable
> 		    and  executable.  Non‐executable mappings can’t be‐
> 		    come executable.
> 
> 	     PR_MDWE_NO_INHERIT  (since Linux 6.6)
> 		    Do not propagate MDWE protection to child processes
> 		    on fork(2).   Setting  this  bit  requires  setting
> 		    PR_MDWE_REFUSE_EXEC_GAIN too.
> 
> 	Linux man‐pages (unreleased) (date)         PR_SET_MDWE(2const)
> 
> Do you agree with the wording fix proposal?

Just to make sure I understand, do you want to change "mapping
protections" to "mapping" in the PR_MDWE_REFUSE_EXEC_GAIN description?
Fine by me but I would use "mappings" (plural) instead. It matches the
following sentence.

-- 
Catalin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Issue in man page  PR_SET_MDWE.2const
  2026-01-16 10:11   ` Catalin Marinas
@ 2026-01-16 12:39     ` Alejandro Colomar
  2026-01-16 13:38       ` Catalin Marinas
  0 siblings, 1 reply; 5+ messages in thread
From: Alejandro Colomar @ 2026-01-16 12:39 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Florent Revest, Helge Kreutzmann, mario.blaettermann, linux-man

[-- Attachment #1: Type: text/plain, Size: 3666 bytes --]

Hi Catalin,

On Fri, Jan 16, 2026 at 10:11:03AM +0000, Catalin Marinas wrote:
> Hi Alejandro,
> 
> On Thu, Dec 25, 2025 at 09:54:46PM +0100, Alejandro Colomar wrote:
> > On Wed, Dec 24, 2025 at 02:38:23PM +0000, Helge Kreutzmann wrote:
> > > Without further ado, the following was found:
> > > 
> > > Issue:     mapping protections → mapping ?
> > > 
> > > "New memory mapping protections can't be writable and executable.  Non-"
> > > "executable mappings can't become executable."
> > 
> > That text was added in
> > 
> > 	commit 457ca4a9ae3eae9835a5c011851c4eb88b49d322
> > 	Author: Florent Revest <revest@chromium.org>
> > 	Date:   Wed Oct 11 13:47:44 2023 +0200
> > 
> > 	    prctl.2: Document PR_SET_MDWE and PR_GET_MDWE
> > 	    
> > 	    Memory-Deny-Write-Execute is a W^X process control originally introduced
> > 	    by Joey Gouly.  I'm the author of the PR_MDWE_NO_INHERIT flag.
> > 	    
> > 	    Signed-off-by: Florent Revest <revest@chromium.org>
> > 	    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> > 	    Signed-off-by: Alejandro Colomar <alx@kernel.org>
> > 
> > So let's ask the author and reviewer.  The manual page says:
> > 
> > 	$ mansect DESCRIPTION man/man2const/PR_SET_MDWE.2const \
> > 	| MANWIDTH=64 man /dev/stdin \
> > 	| cat;
> > 	PR_SET_MDWE(2const)                         PR_SET_MDWE(2const)
> > 
> > 	DESCRIPTION
> > 	     Set the calling process’ Memory‐Deny‐Write‐Execute protec‐
> > 	     tion  mask.  Once protection bits are set, they can not be
> > 	     changed.
> > 
> > 	     mask must be a bit mask of:
> > 
> > 	     PR_MDWE_REFUSE_EXEC_GAIN
> > 		    New memory mapping protections  can’t  be  writable
> > 		    and  executable.  Non‐executable mappings can’t be‐
> > 		    come executable.
> > 
> > 	     PR_MDWE_NO_INHERIT  (since Linux 6.6)
> > 		    Do not propagate MDWE protection to child processes
> > 		    on fork(2).   Setting  this  bit  requires  setting
> > 		    PR_MDWE_REFUSE_EXEC_GAIN too.
> > 
> > 	Linux man‐pages (unreleased) (date)         PR_SET_MDWE(2const)
> > 
> > Do you agree with the wording fix proposal?
> 
> Just to make sure I understand, do you want to change "mapping
> protections" to "mapping" in the PR_MDWE_REFUSE_EXEC_GAIN description?

I didn't have an opinion.  Helge proposed this, and I have no idea
whether the proposal is good or not, which is why I forwarded it to you.  :)

> Fine by me but I would use "mappings" (plural) instead. It matches the
> following sentence.

Yes, plural seems more correct.  Thanks!
I've applied the following patch:

	commit 6352d57d7324d8c6fee2d335f103d8755ea5a620
	Author: Alejandro Colomar <alx@kernel.org>
	Date:   Fri Jan 16 13:37:28 2026 +0100

	    man/man2const/PR_SET_MDWE.2const: wfix
	    
	    Reported-by: Helge Kreutzmann <debian@helgefjell.de>
	    Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
	    Cc: Florent Revest <revest@chromium.org>
	    Signed-off-by: Alejandro Colomar <alx@kernel.org>

	diff --git a/man/man2const/PR_SET_MDWE.2const b/man/man2const/PR_SET_MDWE.2const
	index db75b1873..4749ea5be 100644
	--- a/man/man2const/PR_SET_MDWE.2const
	+++ b/man/man2const/PR_SET_MDWE.2const
	@@ -26,7 +26,7 @@ .SH DESCRIPTION
	 must be a bit mask of:
	 .TP
	 .B PR_MDWE_REFUSE_EXEC_GAIN
	-New memory mapping protections can't be writable and executable.
	+New memory mappings can't be writable and executable.
	 Non-executable mappings can't become executable.
	 .TP
	 .B PR_MDWE_NO_INHERIT " (since Linux 6.6)"


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Issue in man page  PR_SET_MDWE.2const
  2026-01-16 12:39     ` Alejandro Colomar
@ 2026-01-16 13:38       ` Catalin Marinas
  0 siblings, 0 replies; 5+ messages in thread
From: Catalin Marinas @ 2026-01-16 13:38 UTC (permalink / raw)
  To: Alejandro Colomar
  Cc: Florent Revest, Helge Kreutzmann, mario.blaettermann, linux-man

On Fri, Jan 16, 2026 at 01:39:08PM +0100, Alejandro Colomar wrote:
> I've applied the following patch:
> 
> 	commit 6352d57d7324d8c6fee2d335f103d8755ea5a620
> 	Author: Alejandro Colomar <alx@kernel.org>
> 	Date:   Fri Jan 16 13:37:28 2026 +0100
> 
> 	    man/man2const/PR_SET_MDWE.2const: wfix
> 	    
> 	    Reported-by: Helge Kreutzmann <debian@helgefjell.de>
> 	    Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
> 	    Cc: Florent Revest <revest@chromium.org>
> 	    Signed-off-by: Alejandro Colomar <alx@kernel.org>
> 
> 	diff --git a/man/man2const/PR_SET_MDWE.2const b/man/man2const/PR_SET_MDWE.2const
> 	index db75b1873..4749ea5be 100644
> 	--- a/man/man2const/PR_SET_MDWE.2const
> 	+++ b/man/man2const/PR_SET_MDWE.2const
> 	@@ -26,7 +26,7 @@ .SH DESCRIPTION
> 	 must be a bit mask of:
> 	 .TP
> 	 .B PR_MDWE_REFUSE_EXEC_GAIN
> 	-New memory mapping protections can't be writable and executable.
> 	+New memory mappings can't be writable and executable.
> 	 Non-executable mappings can't become executable.
> 	 .TP
> 	 .B PR_MDWE_NO_INHERIT " (since Linux 6.6)"

Looks good. Thanks!

-- 
Catalin

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-01-16 13:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-24 14:38 Issue in man page PR_SET_MDWE.2const Helge Kreutzmann
2025-12-25 20:54 ` Alejandro Colomar
2026-01-16 10:11   ` Catalin Marinas
2026-01-16 12:39     ` Alejandro Colomar
2026-01-16 13:38       ` Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox