Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1780280ybg; Sat, 19 Oct 2019 02:21:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqwq6AjCqLNUUckpzXvFVlhgdMbIS5qoheb+/+QmljqGbWv0UqWkdG9x07fcS1MnJQRcp4YW X-Received: by 2002:aa7:cfd4:: with SMTP id r20mr14182031edy.268.1571476873681; Sat, 19 Oct 2019 02:21:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571476873; cv=none; d=google.com; s=arc-20160816; b=MEwQwtoov0UohhJ/cvYKQWD8Xnf8HXe8N7pVPdgRvtpTvu9HtJkqiprjqQvCAAa357 oPEaxksWPtRFqHbEcSbJj6yfBGczUCVkTOnnNrTG4ogeS+QN6Lkz2jdyYtfnPe9G7Iyr nIo2R7GmXO0MkxmgM58DDd4Vkwek35MB7GlJMO57Ia6kqPrPkc911sRSJAnjlPxaH9za p0XWjLjYoYoZl/j1p81qjgkR+BkwvDowgpWRUWMhxnuLZdNg32bxVv5FZq25rHNGiy9X wNBCdVbSuyZY1SdfzlD/Y+67NJSSs3kWyyoSGxzdGVF+rHTLXXqRIkGyUahAKFdhHDB4 AcWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=vIoI90AJcGtmRzHkaXHGdwrJxP2gbeW0bBXLDxZIi6o=; b=lr8ZbTJb9q7gZuEYk4ZAcrpcXtuEO56qejaR8q/NY/4vR9J73+ut5WSahRXdVHzyc4 LXkeKrFSFzkZR2CyGP4k5u5n7DX2jSPnDt8JDTb7w9WjZuJyXxctqnC40Pj/ggDR4Wcn RZ8tqCGHLwi7ZEOzWyYXHhEsgrSVYCcUhGuuyHNfsggPaji6N9M10rO3AvGdw3N94mgH FJ9Kq12EdR8fmMuQ1tzpA9Q9p0LQw3l3YvDF2phmp4hugCPTW6pxnot82xzTuoo4NFu5 HDt6UyKCMA+o1pxmikR1ias/P123MXpEg/aQI1rzkdZdeQ06tWC5QNkOn19YA/jgLCc4 pEww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kmFuT5Kg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o32si5503893edc.306.2019.10.19.02.20.50; Sat, 19 Oct 2019 02:21:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kmFuT5Kg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2506122AbfJRVXX (ORCPT + 99 others); Fri, 18 Oct 2019 17:23:23 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:45716 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727508AbfJRVXX (ORCPT ); Fri, 18 Oct 2019 17:23:23 -0400 Received: by mail-pg1-f196.google.com with SMTP id r1so4010146pgj.12 for ; Fri, 18 Oct 2019 14:23:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vIoI90AJcGtmRzHkaXHGdwrJxP2gbeW0bBXLDxZIi6o=; b=kmFuT5Kg6bHVBqvSrwwjd80o3NyLk9kXgyAEqkBiecWeSw5sIbx2razxWIcHpKmuCx bJO2L0Jt09AzB11Ioy48fJTW8FR+EMVEr0M9zHJAcwWGJOQg3HRcf2WrQ1l4SzEXAZq4 n6Xg7mC6TZcE9jyt02zaa38SwNptcs9lLZ8G/gPn1z84v6FiEYb28HVQX/UzL1C7GhyF PAoEIeSihIs40ESqTd4Oi5iDvDNXP4+cR6jf/BkW9ReFPCWFW0DLQ4SlZLRQeGvSHN7n CoZ3rxSv+LnWUEqcGvtveotIJsaouPfkBE7vIksnyOAEvvP1q7/C1giHe26s6vQXFvJX liOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vIoI90AJcGtmRzHkaXHGdwrJxP2gbeW0bBXLDxZIi6o=; b=OopL+GMTqHJ7w0071+WcPJZWq0pgPpvUGEtWXN45Kw0eg3swGBKdHaL/T/Z4qfWd15 i5cbqeuopWPwoEyBQyJt53wUhSxJ2bUpQD8wGBP81EeuLEyUY6MUMdZNxAxLhhv022iu x0jlvQqljCaAl3ltr3z7ufdbRH60Nb2i1YvmZc3/MtHKRdnaxSGzuN2jVwMCg8EfKguK TzDlUClKv6pGDLBexHtGJYKN+XThM+jjiok4c4U2aQAs3Wt1kc0c4UpTdkCufqEt2cPC NW6054DMfLIPNOe+6CiJOOwJIRi6MBbacIO4grd7n4/AcQvn0FUxqu76InyIFpjAVNFP ZkKA== X-Gm-Message-State: APjAAAUdmymz+EK8kScmc+zq1VUgcfRrLwZYCRTRgIBH7/XCYD9Y4TS0 1SCuUvBa6t3Oapb8MbhVLc9roRxRtJ8WxRVfaI0hcg== X-Received: by 2002:aa7:8210:: with SMTP id k16mr9015314pfi.84.1571433802129; Fri, 18 Oct 2019 14:23:22 -0700 (PDT) MIME-Version: 1.0 References: <20191018161033.261971-1-samitolvanen@google.com> <20191018161033.261971-13-samitolvanen@google.com> In-Reply-To: <20191018161033.261971-13-samitolvanen@google.com> From: Nick Desaulniers Date: Fri, 18 Oct 2019 14:23:10 -0700 Message-ID: Subject: Re: [PATCH 12/18] arm64: reserve x18 only with Shadow Call Stack To: Sami Tolvanen Cc: Will Deacon , Catalin Marinas , Steven Rostedt , Ard Biesheuvel , Dave Martin , Kees Cook , Laura Abbott , Mark Rutland , clang-built-linux , Kernel Hardening , Linux ARM , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 18, 2019 at 9:11 AM 'Sami Tolvanen' via Clang Built Linux wrote: > > Only reserve x18 with CONFIG_SHADOW_CALL_STACK. Note that all external > kernel modules must also have x18 reserved if the kernel uses SCS. Ah, ok. The tradeoff for maintainers to consider, either: 1. one less GPR for ALL kernel code or 2. remember not to use x18 in inline as lest you potentially break SCS This patch is 2 (the earlier patch was 1). Maybe we don't write enough inline asm that this will be hard to remember, and we do have CI in Android to watch for this (on mainline, not sure about -next). Either way, Acked-by: Nick Desaulniers > > Signed-off-by: Sami Tolvanen > --- > arch/arm64/Makefile | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > index 1c7b276bc7c5..ef76101201b2 100644 > --- a/arch/arm64/Makefile > +++ b/arch/arm64/Makefile > @@ -55,7 +55,7 @@ endif > > KBUILD_CFLAGS += -mgeneral-regs-only $(lseinstr) $(brokengasinst) \ > $(compat_vdso) $(cc_has_k_constraint) > -KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -ffixed-x18 > +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables > KBUILD_CFLAGS += $(call cc-disable-warning, psabi) > KBUILD_AFLAGS += $(lseinstr) $(brokengasinst) $(compat_vdso) > > @@ -72,6 +72,10 @@ stack_protector_prepare: prepare0 > include/generated/asm-offsets.h)) > endif > > +ifeq ($(CONFIG_SHADOW_CALL_STACK), y) > +KBUILD_CFLAGS += -ffixed-x18 > +endif > + > ifeq ($(CONFIG_CPU_BIG_ENDIAN), y) > KBUILD_CPPFLAGS += -mbig-endian > CHECKFLAGS += -D__AARCH64EB__ > -- > 2.23.0.866.gb869b98d4c-goog > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20191018161033.261971-13-samitolvanen%40google.com. -- Thanks, ~Nick Desaulniers