Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp6178807rwl; Wed, 22 Mar 2023 07:29:26 -0700 (PDT) X-Google-Smtp-Source: AK7set9vHxadaphSWT9RKKlYDeJRv1EspfUMzwDr3NaTOSYF7uhlGE9ahBAvtWy9myvi0Bgkg33d X-Received: by 2002:a17:90b:38c6:b0:23f:9445:318b with SMTP id nn6-20020a17090b38c600b0023f9445318bmr4073717pjb.19.1679495366613; Wed, 22 Mar 2023 07:29:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679495366; cv=none; d=google.com; s=arc-20160816; b=rUAj7M5RjqxeXjfhezwOg3K2ewfI806r7Qf5/Yrv4jaf+AaLEXE8p7ngXhNMIbcoIg 4N7J9b57vZKqD60U1hMExycVsog33ZDJ8UCmdJB7lC+k994Ndaajp+0MgmFB+mG9XRq/ pgWgqwg/1zvplyYBPgOWQ7Ci89UtFAZ6mKQp47eywJC37smp9B/6Gy7xWp25KfezYtwH A+H3OXAUxFwydIL1/GGjvKxHvXixo4WDqv9ZSH1QcHPjVj1eaow0H5F3wggES7dlFjt0 Uht6rM70JsELAhYZ7PAob+ZrScKS4hCTppgwVHgy2QB4MFLZxHPvP7FL1SCS+NIFAWt7 63EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=NE1PIMFkudPTW1JLolSau7zYkTz39Mje7OyjRZD68QI=; b=iz6p/IdMDbcJsNrfRkduuiNmEl2h8Nn6qkmcNZqASjvhstTUmZFZR+U7itL7uautd6 Ieybufdcrh3xygembqOskdn9/FRN8Y80i14oAKUbX6XufczJ6fV1IqM8HfIB0Ag3frRu nL9+uVBVaxxz4eu3j0M3H8CFv9FYtgRW5VxOYG3sUTulHARTHChg0v1t8dOUiLIpW4T6 f9KAv2AiSJmoevFxMynWsrBQSomo6r+r+kFFGIuOWPAzGC2+axU6BbVUEheqomyD+V/U UW1/Etz0fmq5QoCjGtHY0R01cI1fSovg0on96MHVpGAEo/W5z6l0SycI/Src/z+gtxYn jgQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=desiato.20200630 header.b=lI+Lu8mg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i10-20020a17090a974a00b00230da5c13e3si16124592pjw.43.2023.03.22.07.29.15; Wed, 22 Mar 2023 07:29:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=desiato.20200630 header.b=lI+Lu8mg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230525AbjCVOUj (ORCPT + 99 others); Wed, 22 Mar 2023 10:20:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230521AbjCVOUW (ORCPT ); Wed, 22 Mar 2023 10:20:22 -0400 Received: from desiato.infradead.org (desiato.infradead.org [IPv6:2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 981AF65443 for ; Wed, 22 Mar 2023 07:19:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=NE1PIMFkudPTW1JLolSau7zYkTz39Mje7OyjRZD68QI=; b=lI+Lu8mgPcskiOn3h0NWi5OrwF LYWqriodX5VFGezELDig2h3WgiiEwgBEnUOHB+VHGPktNSDDHU8J/D9wxX4PlXHN3nnToeaHB7uQs 1u8VSEugJ6xicm+8mRDcagBa6a8O1YkSrpC8dAO4cYPf3LlPHCb6ISt7F6a/Tc3WD5slsgvA6UUy8 N9bBp7N4iQq9FB8HOZ6ZoDrHOMo2c5Kheb+wXDdLAjyyqGoKRC7b1DrXN+LkNYnyFrm+JAGUj4J1G DwzgGSYL9Es/jnliUFhWr7Czr7QmWrKjA4Om1f3VbmV/oO7YyaQCchx1Z6cbbAN56n80+t0RLgRgb vDVwEW+g==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pezJO-004ZXR-1U; Wed, 22 Mar 2023 14:19:34 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id BB75E30031E; Wed, 22 Mar 2023 15:19:33 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 93AC520106E12; Wed, 22 Mar 2023 15:19:33 +0100 (CET) Date: Wed, 22 Mar 2023 15:19:33 +0100 From: Peter Zijlstra To: Mark Rutland Cc: Josh Poimboeuf , x86@kernel.org, linux-kernel@vger.kernel.org, Jason Baron , Steven Rostedt , Ard Biesheuvel , Christophe Leroy , Paolo Bonzini , Sean Christopherson , Sami Tolvanen , Nick Desaulniers , Will McVicker , Kees Cook , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 08/11] arm64/static_call: Fix static call CFI violations Message-ID: <20230322141933.GD2357380@hirez.programming.kicks-ass.net> References: <3d8c9e67a7e29f3bed4e44429d953e1ac9c6d5be.1679456900.git.jpoimboe@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 22, 2023 at 12:22:07PM +0000, Mark Rutland wrote: > On Tue, Mar 21, 2023 at 09:00:14PM -0700, Josh Poimboeuf wrote: > > +++ b/arch/arm64/include/asm/static_call.h > > @@ -0,0 +1,29 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +#ifndef _ASM_ARM64_STATIC_CALL_H > > +#define _ASM_ARM64_STATIC_CALL_H > > + > > +/* > > + * Make a dummy reference to a function pointer in C to force the compiler to > > + * emit a __kcfi_typeid_ symbol for asm to use. > > + */ > > +#define GEN_CFI_SYM(func) \ > > + static typeof(func) __used __section(".discard.cfi") *__UNIQUE_ID(cfi) = func > > + > > + > > +/* Generate a CFI-compliant static call NOP function */ > > +#define __ARCH_DEFINE_STATIC_CALL_CFI(name, insns) \ > > + asm(".align 4 \n" \ Should this ^ be: __ALIGN_STR "\n" \ > > + ".word __kcfi_typeid_" name " \n" \ > > + ".globl " name " \n" \ > > + name ": \n" \ > > + "bti c \n" \ > > + insns " \n" \ > > + "ret \n" \ > > + ".type " name ", @function \n" \ > > + ".size " name ", . - " name " \n") Also, Mark, I think you can remove __ALIGN and __ALIGN_STR from arch/arm64/include/linkage.h they're very similar to the generic one.