Re: [PATCH 5/6] x86/shstk: don't create the shadow stack for PF_USER_WORKERs

From: Deepak Gupta
Date: Tue Aug 19 2025 - 13:45:42 EST


On Mon, Aug 18, 2025 at 06:27:02PM +0100, Mark Brown wrote:
On Fri, Aug 15, 2025 at 12:11:47PM -0700, Deepak Gupta wrote:
On Fri, Aug 15, 2025 at 12:44:14PM +0100, Mark Brown wrote:

> confirmation would be good but hopefully it's fine. I've been holding
> back on sending a rebased version out since Deepak was going to help me
> get set up to test it on RISC-V. Though I see now that the RISC-V code
> has vanished from -next (I guess due to fallout from the issues with the
> merge to Linus, it looks like there's almost nothing in the branch
> currently), not sure what the plan is there?

> Perhaps I should just send it out, but given the difficulty getting
> anyone to pay attention I was trying to avoid issues with missing
> updates for newly added RISC-V shadow stacks.

Yes I was trying to get that sorted as well. Because now I'll have to
rebase my changes to 6.17. So I wanted to make sure that it applies
cleanly. I suggest that you send it out because risc-v was left out
anyways. I'll apply your patch series on my risc-v shadow stack changes
(on top of 6.17) and will report back. It might be easier that way.

How does that sound?

Sounds good.

My main concern is that I don't want to end up needlessly holding off
either series due to dependencies/cross tree issues - I remain
(endlessly!) hopeful that the everyone's happy with the clone3() work at
this point and it could get merged, but if RISC-V support is going in
then it should support the new interface too. Hopefully we can do
something like apply this on a branch and then merge that into the
RISC-V tree?

Yes they should make to upstream independent of each other. There are some
changes which I can adopt in my current set of changes (like change
`shstk_alloc_thread_stack` prototype). In your current patchsets
"fork: Add shadow stack support to clone3()" will need riscv support. Other
than that I see that support for `my_syscall2` for riscv arch will be needed.

If clone3 changes make in before riscv shadow stack changes, then its easy
I'll just add riscv specific changes pertaining to clone3 in my current
patchsets.
If clone3 changes are later than riscv shadow stack changes, then I'll point
you to a branch from where you can pick riscv specific clone3 + shadow stack
changes.

If they both are going in together (may happen for 6.18 window), then we will
have to coordinate on which one applies first. So let's keep an eye on that.

If I push my branch somewhere on github (riscv shadow stack changes and then
clone3 changes on top of them), Is that fine?

-Deepak