Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932880AbbFJSYf (ORCPT ); Wed, 10 Jun 2015 14:24:35 -0400 Received: from mail-lb0-f169.google.com ([209.85.217.169]:35313 "EHLO mail-lb0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754196AbbFJSY1 (ORCPT ); Wed, 10 Jun 2015 14:24:27 -0400 MIME-Version: 1.0 In-Reply-To: References: From: Andy Lutomirski Date: Wed, 10 Jun 2015 11:24:05 -0700 Message-ID: Subject: Re: [PATCH v5 00/10] x86/asm: Compile-time asm code validation To: Josh Poimboeuf Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Michal Marek , Peter Zijlstra , Andy Lutomirski , Borislav Petkov , Linus Torvalds , Andi Kleen , X86 ML , live-patching@vger.kernel.org, "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1591 Lines: 33 On Wed, Jun 10, 2015 at 5:06 AM, Josh Poimboeuf wrote: > The previous version of this patch set was named "Compile-time stack > frame pointer validation". I changed the subject from "frame pointer > validation" to "asm code validation" because the focus of the patch set > has changed to be less frame pointer-focused and more asm-focused. I > also renamed the tool to asmvalidate (it was previously called > stackvalidate) and basically rewrote most of the code. > Slightly off-topic, but this reminds me: when writing inline asm that needs to push to the stack (for whatever reason), it's incredibly messy to get the annotations right -- they're different depending on whether the previous frame base (is that what "CFA" is?) is currently sp + constant, in which case we need an annotation adjusting the constant or whether it's independent of sp (bp + constant), in which case we shouldn't adjust the offset. (If it's some other function of sp, we're screwed.) Regardless of whether these types of annotations end up being done by hand or by script, should we consider asking the binutils people to give us some nice .cfi_adjust_for_push and .cfi_adjust_for_pop or similar directives? See here for Jan Beulich's solution, which is incomprehensible to me: http://thread.gmane.org/gmane.linux.kernel/1820765 --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/