Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 12 Feb 2015 14:29:56 -0800 | Subject | Re: [PATCH 1/2] x86: entry_64.S: always allocate complete "struct pt_regs" |
| |
On Thu, Feb 12, 2015 at 1:53 PM, Denys Vlasenko <vda.linux@googlemail.com> wrote: > On Thu, Feb 12, 2015 at 6:17 PM, Borislav Petkov <bp@alien8.de> wrote: >> On Wed, Feb 11, 2015 at 10:55:52PM +0100, Denys Vlasenko wrote: >>> Macros which manipulate "struct pt_regs" on stack are reworked: >>> ALLOC_PT_GPREGS_ON_STACK allocates the structure. >>> SAVE_C_REGS saves to it those registers which are clobbered by C code. >>> SAVE_EXTRA_REGS saves to it all other registers. >>> Corresponding RESTORE_* and REMOVE_PT_GPREGS_FROM_STACK macros reverse it. >>> >> >> You'd need to redo that patch against latest upstream because of changes >> it is missing: >> >> Andy's branch x86/entry should have them too: >> http://git.kernel.org/cgit/linux/kernel/git/luto/linux.git >> >> arch/x86/kernel/entry_64.S: Assembler messages: >> arch/x86/kernel/entry_64.S:760: Error: no such instruction: `restore_args 1,8,1' >> make[2]: *** [arch/x86/kernel/entry_64.o] Error 1 >> make[1]: *** [arch/x86/kernel] Error 2 >> make[1]: *** Waiting for unfinished jobs.... >> make: *** [arch/x86] Error 2 >> make: *** Waiting for unfinished jobs.... > > Thanks! > The renaming of macros caught the bug at compile time, as intended. > > I'll send an updated patch set v3 in a minute. It will have > additional patch in front, since that location in code > also wrongly uses R11 instead of ARGOFFSET.
If you aren't already, can you base it here:
https://git.kernel.org/cgit/linux/kernel/git/luto/linux.git/log/?h=x86/entry
--Andy
-- Andy Lutomirski AMA Capital Management, LLC
| |