Thread (3 messages) 3 messages, 3 authors, 2020-09-01

Re: [PATCH v11 25/25] x86/cet/shstk: Add arch_prctl functions for shadow stack

From: Yu, Yu-cheng <hidden>
Date: 2020-09-01 18:24:25
Also in: linux-api, linux-doc, linux-mm, lkml

Possibly related (same subject, not in this thread)

On 9/1/2020 11:17 AM, Florian Weimer wrote:
* Yu-cheng Yu:
quoted
On 9/1/2020 10:50 AM, Florian Weimer wrote:
quoted
* Yu-cheng Yu:
quoted
Like other arch_prctl()'s, this parameter was 'unsigned long'
earlier. The idea was, since this arch_prctl is only implemented for
the 64-bit kernel, we wanted it to look as 64-bit only.  I will change
it back to 'unsigned long'.
What about x32?  In general, long is rather problematic for x32.
The problem is the size of 'long', right?
Because this parameter is passed in a register, and only the lower
bits are used, x32 works as well.
The userspace calling convention leaves the upper 32-bit undefined.
Therefore, this only works by accident if the kernel does not check that
the upper 32-bit are zero, which is probably a kernel bug.

It's unclear to me what you are trying to accomplish.  Why do you want
to use unsigned long here?  The correct type appears to be unsigned int.
This correctly expresses that the upper 32 bits of the register do not
matter.
Yes, you are right.  I will make it 'unsigned int'.

Thanks,
Yu-cheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help