[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20200917115733.GH31960@zn.tnic>
Date: Thu, 17 Sep 2020 13:57:33 +0200
From: Borislav Petkov <bp@...en8.de>
To: David Laight <David.Laight@...LAB.COM>
Cc: Andrew Cooper <andrew.cooper3@...rix.com>,
Andy Lutomirski <luto@...capital.net>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Andy Lutomirski <luto@...nel.org>,
Bill Wendling <morbo@...gle.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Greg Thelen <gthelen@...gle.com>,
John Sperbeck <jsperbeck@...gle.com>,
"# 3.4.x" <stable@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>
Subject: Re: [PATCH] x86/smap: Fix the smap_save() asm
On Thu, Sep 17, 2020 at 10:05:37AM +0000, David Laight wrote:
> The 'red-zone' allows leaf function to use stack memory for locals
> that is below (ie the wrong side of) the stack pointer.
After looking at
"Figure 3.3: Stack Frame with Base Pointer"
in the x86-64 ABI doc, you're probably right:
0(%rbp)
-8(%rbp)
...
0(%rsp)
.. red zone
-128(%rsp)
i.e., rsp-relative addresses with negative offsets are in the red zone.
So it looks like the compiler actually knows very well what's going on
here and allocates room on the stack for that 0x8(%rsp) slot.
Good.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists