lkml.org 
[lkml]   [2021]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] x86: Add straight-line-speculation mitigation
On Fri, Nov 19, 2021 at 05:50:26PM +0100, Peter Zijlstra wrote:
> This little patch makes use of an upcomming GCC feature to mitigate
> straight-line-speculation for x86:
>
> https://gcc.gnu.org/g:53a643f8568067d7700a9f2facc8ba39974973d3
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102952
> https://bugs.llvm.org/show_bug.cgi?id=52323
>
> It's built tested on x86_64-allyesconfig using GCC-12 and GCC-11.
> It's also been boot tested on x86_64-defconfig+kvm_guest.config using
> GCC-12.
>
> Maintenace overhead of this should be fairly low due to objtool
> validation.
>
> Size overhead of all these additional int3 instructions comes to:
>
> text data bss dec hex filename
> 22267751 6933356 2011368 31212475 1dc43bb defconfig-build/vmlinux
> 22804126 6933356 1470696 31208178 1dc32f2 defconfig-build/vmlinux.sls
>
> Or roughly 2.4% additional text.

Thanks for adding the size details. (I remain surprised it's so much.)

> [...]
> 125 files changed, 441 insertions(+), 386 deletions(-)

I wonder if this patch should be split into a few pieces:

- objtool validation
- asm macro definitions
- mechanical ret/RET replacement
- Kconfig & Makefile

Personally I'd find that much easier to review, but either way:

Reviewed-by: Kees Cook <keescook@chromium.org>

Thanks!

--
Kees Cook

\
 
 \ /
  Last update: 2021-11-19 18:16    [W:0.080 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site