[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150717194307.GA26757@gmail.com>
Date: Fri, 17 Jul 2015 21:43:07 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Josh Poimboeuf <jpoimboe@...hat.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, Michal Marek <mmarek@...e.cz>,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>,
Borislav Petkov <bp@...en8.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andi Kleen <andi@...stfloor.org>,
Pedro Alves <palves@...hat.com>, x86@...nel.org,
live-patching@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 13/21] x86/asm/crypto: Fix frame pointer usage in
aesni-intel_asm.S
* Josh Poimboeuf <jpoimboe@...hat.com> wrote:
> ENTRY(aesni_set_key)
> + FRAME
> #ifndef __x86_64__
> pushl KEYP
> movl 8(%esp), KEYP # ctx
> @@ -1905,6 +1907,7 @@ ENTRY(aesni_set_key)
> #ifndef __x86_64__
> popl KEYP
> #endif
> + ENDFRAME
> ret
> ENDPROC(aesni_set_key)
So cannot we make this a bit more compact and less fragile?
Instead of:
ENTRY(aesni_set_key)
FRAME
...
ENDFRAME
ret
ENDPROC(aesni_set_key)
How about writing this as:
FUNCTION_ENTRY(aesni_set_key)
...
FUNCTION_RETURN(aesni_set_key)
which does the same thing in a short, symmetric construct?
One potential problem with this approach would be that what 'looks' like an entry
declaration, but it will now generate real code.
OTOH if people find this intuitive enough then it's a lot harder to mess it up,
and I think 'RETURN' makes it clear enough that there's a real instruction
generated there.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists