FAILED: patch "[PATCH] prctl: Disable prctl(PR_SET_MDWE) on parisc" failed to apply to 6.5-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkout FETCH_HEAD
git cherry-pick -x 793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..
Possible dependencies:
793838138c15 ("prctl: Disable prctl(PR_SET_MDWE) on parisc") 24e41bf8a6b4 ("mm: add a NO_INHERIT flag to the PR_SET_MDWE prctl") 0da668333fb0 ("mm: make PR_MDWE_REFUSE_EXEC_GAIN an unsigned long")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 793838138c157d4c49f4fb744b170747e3dabf58 Mon Sep 17 00:00:00 2001
From: Helge Deller <[email protected]>
Date: Sat, 18 Nov 2023 19:33:35 +0100
Subject: [PATCH] prctl: Disable prctl(PR_SET_MDWE) on parisc
systemd-254 tries to use prctl(PR_SET_MDWE) for it's MemoryDenyWriteExecute functionality, but fails on parisc which still needs executable stacks in certain combinations of gcc/glibc/kernel.
Disable prctl(PR_SET_MDWE) by returning -EINVAL for now on parisc, until userspace has catched up.
kernel/sys.c +4 -0
@@ -2394,6 +2394,10 @@ static inline int prctl_set_mdwe(unsigned long bits, unsigned long arg3,if (bits &PR_MDWE_NO_INHERIT && !(bits &PR_MDWE_REFUSE_EXEC_GAIN ))return -EINVAL ; +/* PARISC cannot allow mdwe as it needs writable stacks */ +if (IS_ENABLED (CONFIG_PARISC )) +return -EINVAL ; + current_bits =get_current_mdwe ();if (current_bits && current_bits != bits)return -EPERM ;/* Cannot unset the flags */
Quoted 14 lines · On 11/24/23 12:35, [email protected] wrote:
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..
Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")
Greg, I think the most clean solution is that you pull in this patch:
commit 24e41bf8a6b424c76c5902fb999e9eca61bdf83d
Author: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200
mm: add a NO_INHERIT flag to the PR_SET_MDWE prctl
as well into 6.5-stable and 6.6-stable prior to applying my patch.
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a NO_INHERIT flag to the PR_SET_MDWE prctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...
Helge
Quoted 38 lines
------------------ original commit in Linus's tree ------------------
From
793838138c157d4c49f4fb744b170747e3dabf58Mon Sep 17 00:00:00 2001
From: Helge Deller <[email protected]>
Date: Sat, 18 Nov 2023 19:33:35 +0100
Subject: [PATCH] prctl: Disableprctl(PR_SET_MDWE)on pariscsystemd-254 tries to use
prctl(PR_SET_MDWE)for it's MemoryDenyWriteExecute functionality, but fails on parisc which still needs executable stacks in certain combinations of gcc/glibc/kernel.Disable
prctl(PR_SET_MDWE)by returning-EINVALfor now on parisc, until userspace has catched up.Signed-off-by Helge Deller <[email protected]>Co-developed-by Linus Torvalds <[email protected]>Reported-by Sam James <[email protected]>Tested-by Sam James <[email protected]>Cc <[email protected]> # v6.3+kernel/sys.c +4
-0@@ -2394,6 +2394,10 @@ static inline int prctl_set_mdwe(unsigned long bits, unsigned long arg3,if (bits &PR_MDWE_NO_INHERIT && !(bits &PR_MDWE_REFUSE_EXEC_GAIN ))return -EINVAL ; +/* PARISC cannot allow mdwe as it needs writable stacks */ +if (IS_ENABLED (CONFIG_PARISC )) +return -EINVAL ; + current_bits =get_current_mdwe ();if (current_bits && current_bits != bits)return -EPERM ;/* Cannot unset the flags */
Greg KH
maintainerQuoted 26 lines · Helge Deller
Quoted 14 lines · On 11/24/23 12:35, [email protected] wrote:
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")Greg, I think the most clean solution is that you pull in this patch:
commit
24e41bf8a6b424c76c5902fb999e9eca61bdf83dAuthor: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200
Quoted 8 lines
mm: add a
NO_INHERITflag to thePR_SET_MDWEprctlas well into 6.5-stable and 6.6-stable prior to applying my patch.
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a
NO_INHERITflag to thePR_SET_MDWEprctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...
Given that we need an explicit ack for adding mm: patches to the stable trees, I'll wait for that to happen here before adding it.
thanks,
greg k-h
Helge Deller
Tested-by Sam James* Greg KH <[email protected]>:
Quoted 31 lines · Helge Deller
Quoted 30 lines · On 11/24/23 12:35, [email protected] wrote:
Quoted 14 lines
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")Greg, I think the most clean solution is that you pull in this patch:
commit
24e41bf8a6b424c76c5902fb999e9eca61bdf83dAuthor: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200mm: add a
NO_INHERITflag to thePR_SET_MDWEprctlas well into 6.5-stable and 6.6-stable prior to applying my patch.
Quoted 7 lines
Quoted 4 lines
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a
NO_INHERITflag to thePR_SET_MDWEprctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...Given that we need an explicit ack for adding mm: patches to the stable trees, I'll wait for that to happen here before adding it.
Sure!
Just in case we get a NAK, below is the backported patch of 793838138c157d4c49f4fb744b170747e3dabf58 which applies to 6.5-stable and 6.6-stable.
Maybe you want to add it in the meantime?
Helge
From: Helge Deller <[email protected]>
Date: Sat, 18 Nov 2023 19:33:35 +0100
Subject: [PATCH] prctl: Disable prctl(PR_SET_MDWE) on parisc
systemd-254 tries to use prctl(PR_SET_MDWE) for it's MemoryDenyWriteExecute functionality, but fails on parisc which still needs executable stacks in certain combinations of gcc/glibc/kernel.
Disable prctl(PR_SET_MDWE) by returning -EINVAL for now on parisc, until userspace has catched up.
kernel/sys.c +4 -0
@@ -2377,6 +2377,10 @@ static inline int prctl_set_mdwe(unsigned long bits, unsigned long arg3,if (bits & ~(PR_MDWE_REFUSE_EXEC_GAIN ))return -EINVAL ; +/* PARISC cannot allow mdwe as it needs writable stacks */ +if (IS_ENABLED (CONFIG_PARISC )) +return -EINVAL ; +if (bits &PR_MDWE_REFUSE_EXEC_GAIN )set_bit (MMF_HAS_MDWE , ¤t->mm->flags);else if (test_bit (MMF_HAS_MDWE , ¤t->mm->flags))
Quoted 26 lines · Helge Deller
Quoted 14 lines · On 11/24/23 12:35, [email protected] wrote:
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")Greg, I think the most clean solution is that you pull in this patch:
commit
24e41bf8a6b424c76c5902fb999e9eca61bdf83dAuthor: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200
Quoted 8 lines
mm: add a
NO_INHERITflag to thePR_SET_MDWEprctlas well into 6.5-stable and 6.6-stable prior to applying my patch.
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a
NO_INHERITflag to thePR_SET_MDWEprctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...
TBH, given that the NO_INHERIT MDWE is a new feature and it took us a few rounds to define its semantics, I'd rather not back-port it unless someone has a strong need for it in 6.5 (not sure the stable rules even allow for this). The parisc patch is simple enough to be backported on its own.
Signature · 1 line
Catalin
Quoted 36 lines · Catalin Marinas
Quoted 26 lines · Helge Deller
Quoted 14 lines · On 11/24/23 12:35, [email protected] wrote:
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")Greg, I think the most clean solution is that you pull in this patch:
commit
24e41bf8a6b424c76c5902fb999e9eca61bdf83dAuthor: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200Quoted 8 lines
mm: add a
NO_INHERITflag to thePR_SET_MDWEprctlas well into 6.5-stable and 6.6-stable prior to applying my patch.
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a
NO_INHERITflag to thePR_SET_MDWEprctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...
Quoted 5 lines
TBH, given that the
NO_INHERITMDWE is a new feature and it took us a few rounds to define its semantics, I'd rather not back-port it unless someone has a strong need for it in 6.5 (not sure the stable rules even allow for this). The parisc patch is simple enough to be backported on its own.
Ok.
Thanks!
Helge
Quoted 37 lines · Catalin Marinas
Quoted 26 lines · Helge Deller
Quoted 14 lines · On 11/24/23 12:35, [email protected] wrote:
The patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkoutFETCH_HEAD
git cherry-pick -x793838138c157d4c49f4fb744b170747e3dabf58
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023112456-linked-nape-bf19@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..Quoted 5 lines
Possible dependencies:
793838138c15("prctl: Disableprctl(PR_SET_MDWE)on parisc")24e41bf8a6b4("mm: add aNO_INHERITflag to thePR_SET_MDWEprctl")0da668333fb0("mm: makePR_MDWE_REFUSE_EXEC_GAINan unsigned long")Greg, I think the most clean solution is that you pull in this patch:
commit
24e41bf8a6b424c76c5902fb999e9eca61bdf83dAuthor: Florent Revest <[email protected]> Date: Mon Aug 28 17:08:57 2023 +0200Quoted 8 lines
mm: add a
NO_INHERITflag to thePR_SET_MDWEprctlas well into 6.5-stable and 6.6-stable prior to applying my patch.
Florent, Kees and Catalin, do you see any issues if this patch ("mm: add a
NO_INHERITflag to thePR_SET_MDWEprctl") is backported to 6.5 and 6.6 too?
If yes, I'm happy to just send the trivial backport of my patch below...
Quoted 5 lines
TBH, given that the
NO_INHERITMDWE is a new feature and it took us a few rounds to define its semantics, I'd rather not back-port it unless someone has a strong need for it in 6.5 (not sure the stable rules even allow for this). The parisc patch is simple enough to be backported on its own.
I agree with Catalin :)