Thread (92 messages) flat view 92 messages, 7 authors, 2022-11-22

Re: [PATCH v3 27/37] x86/shstk: Introduce routines modifying shstk

From: Peter Zijlstra <peterz@infradead.org>
Date: 2022-11-15 19:44:04
Also in: linux-arch, linux-doc, linux-mm, lkml

On Fri, Nov 04, 2022 at 03:35:54PM -0700, Rick Edgecombe wrote:
+#ifdef CONFIG_X86_USER_SHADOW_STACK
+static inline int write_user_shstk_64(u64 __user *addr, u64 val)
+{
+	asm_volatile_goto("1: wrussq %[val], (%[addr])\n"
+			  _ASM_EXTABLE(1b, %l[fail])
+			  :: [addr] "r" (addr), [val] "r" (val)
+			  :: fail);
+	return 0;
+fail:
+	return -EFAULT;
+}
+#endif /* CONFIG_X86_USER_SHADOW_STACK */
Why isn't this modelled after put_user() ?

Should you write a 64bit value even if the task receiving a signal is
32bit ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help