[no subject]

2020-06-11 Thread ndesaulniers
Date: Thu, 11 Jun 2020 15:38:38 -0700 From: Nick Desaulniers To: Michael Ellerman , christophe.le...@c-s.fr, seg...@kernel.crashing.org Cc: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , npig...@gmail.com, seg...@kernel.crashing.org,

[PATCH] Revert "Revert "powerpc/xmon: Relax frame size for clang""

2023-08-28 Thread ndesaulniers
This reverts commit 7f3c5d099b6f8452dc4dcfe4179ea48e6a13d0eb. Turns out that this is reproducible still under specific compiler versions (mea culpa: I did not test every supported version of clang), and even a few randconfigs bots found. We'll have to revisit this again in the future, for now

[PATCH] Revert "powerpc/xmon: Relax frame size for clang"

2023-08-17 Thread ndesaulniers
This reverts commit 9c87156cce5a63735d1218f0096a65c50a7a32aa. I have not been able to reproduce the reported -Wframe-larger-than= warning (or disassembly) with clang-11 or clang-18. I don't know precisely when this was fixed in llvm, but it may be time to revert this. Closes:

[PATCH 0/2] start_kernel: omit stack canary

2023-04-17 Thread ndesaulniers
A security research paper was recently published detailing Catch Handler Oriented Programming (CHOP) attacks. https://download.vusec.net/papers/chop_ndss23.pdf The TL;DR being that C++ structured exception handling runtimes are attractive gadgets for Jump Oriented Programming (JOP) attacks. In

[PATCH 1/2] start_kernel: add no_stack_protector fn attr

2023-04-17 Thread ndesaulniers
Back during the discussion of commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") we discussed the need for a function attribute to control the omission of stack protectors on a per-function basis; at the time Clang had support for no_stack_protector but GCC did not. This was

[PATCH v2 2/2] start_kernel: omit prevent_tail_call_optimization for newer toolchains

2023-04-17 Thread ndesaulniers
prevent_tail_call_optimization was added in commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") to work around stack canaries getting inserted into functions that would initialize the stack canary in the first place. Now that we have no_stack_protector function attribute

[PATCH 2/2] start_kernel: omit prevent_tail_call_optimization for newer toolchains

2023-04-17 Thread ndesaulniers
prevent_tail_call_optimization was added in commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") to work around stack canaries getting inserted into functions that would initialize the stack canary in the first place. Now that we have no_stack_protector function attribute

[PATCH v2 0/2] start_kernel: omit stack canary

2023-04-17 Thread ndesaulniers
A security research paper was recently published detailing Catch Handler Oriented Programming (CHOP) attacks. https://download.vusec.net/papers/chop_ndss23.pdf The TL;DR being that C++ structured exception handling runtimes are attractive gadgets for Jump Oriented Programming (JOP) attacks. In

[PATCH v2 1/2] start_kernel: add no_stack_protector fn attr

2023-04-17 Thread ndesaulniers
Back during the discussion of commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") we discussed the need for a function attribute to control the omission of stack protectors on a per-function basis; at the time Clang had support for no_stack_protector but GCC did not. This was

[PATCH 1/2] start_kernel: add no_stack_protector fn attr

2023-04-12 Thread ndesaulniers
Back during the discussion of commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") we discussed the need for a function attribute to control the omission of stack protectors on a per-function basis; at the time Clang had support for no_stack_protector but GCC did not. This was

[PATCH 2/2] start_kernel: omit prevent_tail_call_optimization for newer toolchains

2023-04-12 Thread ndesaulniers
prevent_tail_call_optimization was added in commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") to work around stack canaries getting inserted into functions that would initialize the stack canary in the first place. Now that we have no_stack_protector function attribute

[PATCH 0/2] start_kernel: omit stack canary

2023-04-12 Thread ndesaulniers
A security research paper was recently published detailing Catch Handler Oriented Programming (CHOP) attacks. https://download.vusec.net/papers/chop_ndss23.pdf The TL;DR being that C++ structured exception handling runtimes are attractive gadgets for Jump Oriented Programming (JOP) attacks. In

[PATCH] powerpc/inst: add PPC_TLBILX_LPID

2023-08-03 Thread ndesaulniers
Clang didn't recognize the instruction tlbilxlpid. This was fixed in clang-18 [0] then backported to clang-17 [1]. To support clang-16 and older, rather than using that instruction bare in inline asm, add it to ppc-opcode.h and use that macro as is done elsewhere for other instructions. Link: