Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp1060950rwe; Wed, 24 Aug 2022 14:12:27 -0700 (PDT) X-Google-Smtp-Source: AA6agR6b3YriniViCZXsPeyh731FPYJQ3YvtNhgm+QG7LDIUFisZtVbxelOvXCA7W+trKzdGo7wJ X-Received: by 2002:a63:ec4d:0:b0:42a:247d:fd7f with SMTP id r13-20020a63ec4d000000b0042a247dfd7fmr616317pgj.151.1661375547379; Wed, 24 Aug 2022 14:12:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661375547; cv=none; d=google.com; s=arc-20160816; b=Wg3Mmff9SIu2mdsbNt1LOlSawN3sS964SqW+idKoNzRWQzWB4NBCGdU6KlkTMqqdYU D0p0FLu24xjW3uTJNDjp8uSjXTNxsaRQDpcDsflkBOkmvsWthv47BjDu+CqxOoWXbJxn MeBgO8sPTzIMQXkzd8rkBMqsr4qV9Cs8PviFMEKZhNsODCEOVtVYad2ezonExElq2e0i AKNApurvuyWsoLgm0fLvVYQahI60bVZzXp5abUJNLlIRDr9Y1Od5mw7yl37hLVwAcqBx nN1e8vV/l5CdSI3jruYRjILKZLABaZLragvMW0tjlWCGA83j/qgGBfP41S0kJAq3xyME B/ZA== 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=eqQWDjHaQuGpWOa4CnuXI4KbaNFs6ksNSVJf2o0PQfE=; b=TpN/m5ZYiHfutv6d1oj8S4U+xdT4b0JYQ2Wj/hwUlwEjyv5N5l1n5bVoPH0gpntYsV qVNnxoUcIgxaG2b/C9PnAs6HvYWYr5P4lrBingym4JU0cGuFgbwATJIaVmugz7+HqBfA s/ZVKHfG8OVpuVPoBS7gbjRoNwh9EVCaaZ9IFsN/a9CMSLeH5awGMT8KoyQGxf7bDHdO +ZPMBYBPn1OJtNqs6e6Nz2PnQTINBQyR/HlmN13n0aQ9Wif0WptHNkftlFSVg3oB/ysV /5erOZOiJyRzKr7d/3Ky8X1NOKI3uVWFPQa2BqNPUtFALkDEGH7d9Kr0lW1p+OLdua9w 6W2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=BYcBMBIR; 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 t69-20020a638148000000b00429d2838aa5si13755090pgd.635.2022.08.24.14.12.16; Wed, 24 Aug 2022 14:12:27 -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=casper.20170209 header.b=BYcBMBIR; 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 S237796AbiHXUpf (ORCPT + 99 others); Wed, 24 Aug 2022 16:45:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240513AbiHXUpb (ORCPT ); Wed, 24 Aug 2022 16:45:31 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA1296CD0C; Wed, 24 Aug 2022 13:45:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=eqQWDjHaQuGpWOa4CnuXI4KbaNFs6ksNSVJf2o0PQfE=; b=BYcBMBIR6pOmIKMGUumetL0QM/ xQZN603yYDYaGKWIbzF6nv+ixe5XhStf3F6RD/P6rXC4kzDjKIB3tUjo8Zwh/IHHT9myA5TEvjpdG x2dtBTlWlP5SoI+oBUuk0KqRt3akOTDxCYVi1XnSYZ0QYzKwtIK7OcWUp39x1YGlAp3JNqlRlWpZY YvSPAEgGPdWEBVgD1ePH7s5jslkDlJLCROhnp+8329NEBbH+xdihcFxQSEbLsHSjddZU5ONnVU4CF /3MmF7kEiC8jsqrf4R3PNdDquCCtwsrhQVa/9el9BrkfLjFOF8j4STsT5UGL9f/zQjRGd/JsTCz61 x59QT5UQ==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=worktop.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1oQxFT-00GfYq-59; Wed, 24 Aug 2022 20:45:15 +0000 Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000) id 7A083980403; Wed, 24 Aug 2022 22:45:12 +0200 (CEST) Date: Wed, 24 Aug 2022 22:45:12 +0200 From: Peter Zijlstra To: Segher Boessenkool Cc: Borislav Petkov , X86 ML , Michael Matz , linux-toolchains@vger.kernel.org, LKML , Josh Poimboeuf Subject: Re: [PATCH] x86/sev: Mark snp_abort() noreturn Message-ID: References: <20220824152420.20547-1-bp@alien8.de> <20220824172929.GA25951@gate.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220824172929.GA25951@gate.crashing.org> X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham 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, Aug 24, 2022 at 12:29:29PM -0500, Segher Boessenkool wrote: > Hi! > > On Wed, Aug 24, 2022 at 05:24:20PM +0200, Borislav Petkov wrote: > > Mark both the function prototype and definition as noreturn in order to > > prevent the compiler from doing transformations which confuse objtool > > like so: > > > > vmlinux.o: warning: objtool: sme_enable+0x71: unreachable instruction > > Would -Wmissing-noreturn have caught this? It sounds like you need this > (and then fix all resulting warnings) to not upset objtool? > > It is nice to have this anyway (if there aren't a zillion false > positives), but it seems objtool is very fragile. Well, just like gcc has noreturn heuristics so has objtool, it just turns into pain when they don't agree with one another. Ideally noreturn would be reflected in the object file so we don't have to guess at it. STT_FUNC_NORETURN would do I suppose, except then all the tools will need to be taught how to deal with that, which is also very painful. Another options is something like .symtab.noreturn which is another symbol table explicitly listing the noreturn functions. Since it's an extra section tools that don't know about it can freely ignore it and carry on as usual.