On Thu, Sep 17, 2020 at 7:39 AM Borislav Petkov <bp@xxxxxxxxx> wrote: > > On Thu, Sep 17, 2020 at 02:25:50PM +0000, David Laight wrote: > > I actually wonder if there is any code that really benefits from > > the red-zone. > > The kernel has been without a red zone since 2002 at least: > > commit 47f16da277d10ef9494f3e9da2a9113bb22bcd75 > Author: Andi Kleen <ak@xxxxxx> > Date: Tue Feb 12 20:17:35 2002 -0800 > > [PATCH] x86_64 merge: arch + asm > > This adds the x86_64 arch and asm directories and a Documentation/x86_64. > > ... > +CFLAGS += $(shell if $(CC) -mno-red-zone -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mno-red-zone"; fi ) > > > Also, from the ABI doc: > > "A.2.2 Stack Layout > > The Linux kernel may align the end of the input argument area to a > 8, instead of 16, byte boundary. It does not honor the red zone (see > section 3.2.2) and therefore this area is not allowed to be used by > kernel code. Kernel code should be compiled by GCC with the option > -mno-red-zone." > > so forget the red zone. > > -- > Regards/Gruss, > Boris. > > https://people.kernel.org/tglx/notes-about-netiquette Regardless of anything that any docs may or may not say, the kernel *can't* use a redzone -- an interrupt would overwrite it.