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 > > 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 > > Reviewed-by: Catalin Marinas > > Signed-off-by: Alejandro Colomar > > > > 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 Date: Fri Jan 16 13:37:28 2026 +0100 man/man2const/PR_SET_MDWE.2const: wfix Reported-by: Helge Kreutzmann Suggested-by: Catalin Marinas Cc: Florent Revest Signed-off-by: Alejandro Colomar 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 --