From patchwork Sat Apr 8 00:09:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81094 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp592594vqo; Fri, 7 Apr 2023 17:10:57 -0700 (PDT) X-Google-Smtp-Source: AKy350bsQjBm6mE/lXV+8D5mBOGPW4RKICptqZznm3SAhjxAAGTNO2O/aK36mWBxuYQNu6rnMe9R X-Received: by 2002:aa7:94b8:0:b0:62d:b7ad:8071 with SMTP id a24-20020aa794b8000000b0062db7ad8071mr4229981pfl.15.1680912657356; Fri, 07 Apr 2023 17:10:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680912657; cv=none; d=google.com; s=arc-20160816; b=CAPweQsn7ECQl42aRUh4PdWg+qcBfUCP/XZ4LxTL1K2T0H1J6jov8cAWd8ill5Mzo9 iqLku2qC/LzcY+9mQaxaBV++zG0y+1TRHNOZhH60oDXn3grjfXZl/8MgzfEwPNfW5Mha RX0euUZicnAZa4embGtujaYAbhO8fsc6wKLfYdd8jixgkJjzIf6wamhoAOLx67Jau+TR diXTSPdkVIglXNClWdwwkUnS3wKocx5TW9J7V+Mbkp27+iW7yF4e82vJhE6jtm0HSXSc UjEPLItpv7/XHbys1W3LfEjs9yBjqVikOL1/HYrnOkq4mmLa6gHsMYIXjNa3o/txXXd+ OSaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=EmsRLmPEgzTFt5xNW28fZXvvRfnEpnM+qR0nnrelTYQ=; b=ueDOvufSHO9gFAOqx1yZsmpvuFnw1ktDZcmT/GdQ2XdqR7EOsgKCGIQpj3lRHBKe6Y DpEpDxa5FbBK/draNK/QMQ50tmr0LezhdTriEYOKuiGSYrrE6jgEXJr+xXX/FGLlLsZz Lt5O342ysTj1jcnqXG4bQHSg+BIBozc1JSOHLn5oJ4ZfUzE57SxfD3O8bjkEetz04FTX WQGk+A18esEN33sP4M7ioZrDDBgJUJyARWTf+ary5QmSMrXpvP4q2dOiz18IhRTpc01u HCqooht8nXFEn+3aQ33sz2251GyPYDZmhVywa3P/8d0Bg7nAfIBh0U+BZGf1U92wRm/0 iE8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ThOJu1eG; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s145-20020a632c97000000b005137bf7e2d4si4534383pgs.652.2023.04.07.17.10.45; Fri, 07 Apr 2023 17:10:57 -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=@kernel.org header.s=k20201202 header.b=ThOJu1eG; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229820AbjDHAKY (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229503AbjDHAKT (ORCPT ); Fri, 7 Apr 2023 20:10:19 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B9A71206E; Fri, 7 Apr 2023 17:10:19 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BD6F864D4F; Sat, 8 Apr 2023 00:10:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE7D0C4339E; Sat, 8 Apr 2023 00:10:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912618; bh=Uj8qvA6tVwYHkeOEw6EH1HkVaBQz5yNjYfFgoQ2l3Sg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ThOJu1eGVnufhV91YqV30QvYAYrKapqdIjQF/yQ+6AIGAsbM7dykiuh31HMVENA/m xQct/+xrweOjQZ93bCYxxqHRZgKpQeMZEhCmjmZlVeHAtVoDm9MNsXn+7A7ewO7X3s /GarU95zI9RNOuGH3XDfWjYHerrcek+QvfgyZE+PH82Lp+gKRgRw5J+oXQEcrnsKpd /TAm5rdI30s2xPl824l9x3FDrCoeDysbmki1vml2Nqhl/gt/SJhsts7zMBO1JWfwFA 07fti7QcsprbBpB6rCKD34L+PL1Mn0a2bf4gA3mhaBBGg+hsQqoLdr/zAJ6sztrhzm XFWL7kQdGlZVQ== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 01/11] init: Mark [arch_call_]rest_init() __noreturn Date: Fri, 7 Apr 2023 17:09:54 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762564670323624629?= X-GMAIL-MSGID: =?utf-8?q?1762564670323624629?= Fixes the following warning: init/main.o: warning: objtool: start_kernel+0x4ad: unreachable instruction Signed-off-by: Josh Poimboeuf Reviewed-by: Nick Desaulniers --- arch/s390/kernel/setup.c | 2 +- include/linux/start_kernel.h | 4 ++-- init/main.c | 4 ++-- tools/objtool/check.c | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 8ec5cdf9dadc..4259b6c50516 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -396,7 +396,7 @@ int __init arch_early_irq_init(void) return 0; } -void __init arch_call_rest_init(void) +void __init __noreturn arch_call_rest_init(void) { unsigned long stack; diff --git a/include/linux/start_kernel.h b/include/linux/start_kernel.h index 8b369a41c03c..864921e54c92 100644 --- a/include/linux/start_kernel.h +++ b/include/linux/start_kernel.h @@ -9,7 +9,7 @@ up something else. */ extern asmlinkage void __init start_kernel(void); -extern void __init arch_call_rest_init(void); -extern void __ref rest_init(void); +extern void __init __noreturn arch_call_rest_init(void); +extern void __ref __noreturn rest_init(void); #endif /* _LINUX_START_KERNEL_H */ diff --git a/init/main.c b/init/main.c index 4425d1783d5c..161ed956d738 100644 --- a/init/main.c +++ b/init/main.c @@ -683,7 +683,7 @@ static void __init setup_command_line(char *command_line) static __initdata DECLARE_COMPLETION(kthreadd_done); -noinline void __ref rest_init(void) +noinline void __ref __noreturn rest_init(void) { struct task_struct *tsk; int pid; @@ -889,7 +889,7 @@ static int __init early_randomize_kstack_offset(char *buf) early_param("randomize_kstack_offset", early_randomize_kstack_offset); #endif -void __init __weak arch_call_rest_init(void) +void __init __weak __noreturn arch_call_rest_init(void) { rest_init(); } diff --git a/tools/objtool/check.c b/tools/objtool/check.c index cae6ac6ff246..e7442e7ad676 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -202,6 +202,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "__reiserfs_panic", "__stack_chk_fail", "__ubsan_handle_builtin_unreachable", + "arch_call_rest_init", "arch_cpu_idle_dead", "cpu_bringup_and_idle", "cpu_startup_entry", @@ -217,6 +218,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "machine_real_restart", "make_task_dead", "panic", + "rest_init", "rewind_stack_and_make_dead", "sev_es_terminate", "snp_abort", From patchwork Sat Apr 8 00:09:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81103 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597013vqo; Fri, 7 Apr 2023 17:23:37 -0700 (PDT) X-Google-Smtp-Source: AKy350bbstliVxkusIMdwjKqO93d42Rs3JeFRfKBGdDfRIrlChBYbhhiEvka2zcUbIwxa2LsqDtb X-Received: by 2002:aa7:9a48:0:b0:623:c117:f20e with SMTP id x8-20020aa79a48000000b00623c117f20emr3903828pfj.19.1680913416810; Fri, 07 Apr 2023 17:23:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913416; cv=none; d=google.com; s=arc-20160816; b=o/aaDDvD800fjvdvZ4gjKcf+YLgPwx59WQkbFv4DmJRooL6x1vTd8tCPw4xVVVwUqy 0er6OxtLPsJbWK1a43mwrwUxstVATxCGxlXD6Nt73NZGzn5z+jOZ2bb7KLfC+XK1xPU0 xoTHZPCCxDBuWCoWzDB0h04uv9uWXg1uLs68ESeuXeY/VHu/evAdrDDuLV9yRL0Cm/kf UXDW7f/MB3YNSwC+CzcHnOeHvF0h9Rh/LrqPsDCHMkwTyU4046sx7EbDgJ+8E++U6Bvx 7rmhymuBLr2ya/FnzTL5L5gysdgPAfjG9ZWhubowFd0sxcabMZu9Derh3bj6YvJqy8Kv j32w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jWBaAD0CA4D1UVZU9FAJXlLOsGCDAnNZE/etecq3qOM=; b=X28Nh0E1zkSAApaG2JtM/rJ2aofDjqxw/LLpqPuKGcTkSXjCcUk6h74y17FkNoDdig fDqOMnDGFggU3N44iTZlvsNF1pUlxtofREWjIigSf216hWtLFBWVwAggoLV6RoTmPFTB 5BxpcOU12yQFMzhMWcH7dspORRIju9XZy1lSY4DJrAGzHqLV+jv6FpK+bm/ywUcBQ1gt /GbzFssXH2iT6EfuPCMyqAjG0bQFxciwe1XxaniZl6N6tzij602OkMI2CM2Q2YiY3wfp pCyWEvUcIxQ+m4WX1sqbdNhI/wKa07Isezqd4Dt0+wnqIZxSUgUCq6b4yTbz1tEYOQMa 0NBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FdWdkv0H; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h13-20020a056a00000d00b0062dd27d7c36si4792343pfk.132.2023.04.07.17.23.24; Fri, 07 Apr 2023 17:23:36 -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=@kernel.org header.s=k20201202 header.b=FdWdkv0H; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230116AbjDHAK1 (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60024 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229665AbjDHAKU (ORCPT ); Fri, 7 Apr 2023 20:10:20 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD2271206D; Fri, 7 Apr 2023 17:10:19 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5C50F654D0; Sat, 8 Apr 2023 00:10:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55A3BC433EF; Sat, 8 Apr 2023 00:10:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912618; bh=fL3vAWc8aFXEM7bh/5Oz9xwxKse3WRA1+kRJbl4ypFI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FdWdkv0H/8KsW4Q4vTQq9Ak2p8LHjLTEeVWOmVAitqZmBAn3oZHk1jn5FA6zYYQYT 9z/RSqugv05WyKppeQNTONIlyFQXp5fM7uw/ivKhJBZgO+sNWdDgQ5kw/6qNwVk0IV 9iBYiuejuI8nW6PCikzTTtIq8ytq7F2to4idl//bFYM1PpeFBw/VCXDjcahEiQTK6Y DEHViKpq4ND5K7s+XrE/H8ZK79vWPY8Yc6VIp+lHVV0EvSDytXwe7kGNppQ9xAJTJM RmSmmPD4YHsTtc5d7KsA85Zx9LaieVkS40BT0CqJ7XcH+bEsEq9RCIdpb5k4thvZNq 0UN/474VUuXQQ== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley , kernel test robot Subject: [PATCH 02/11] init: Mark start_kernel() __noreturn Date: Fri, 7 Apr 2023 17:09:55 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565467197344352?= X-GMAIL-MSGID: =?utf-8?q?1762565467197344352?= Fixes the following warning: vmlinux.o: warning: objtool: x86_64_start_reservations+0x28: unreachable instruction Reported-by: kernel test robot Link: https://lore.kernel.org/r/202302161142.K3ziREaj-lkp@intel.com/ Signed-off-by: Josh Poimboeuf Reviewed-by: Nick Desaulniers --- include/linux/start_kernel.h | 2 +- init/main.c | 2 +- tools/objtool/check.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/start_kernel.h b/include/linux/start_kernel.h index 864921e54c92..a9806a44a605 100644 --- a/include/linux/start_kernel.h +++ b/include/linux/start_kernel.h @@ -8,7 +8,7 @@ /* Define the prototype for start_kernel here, rather than cluttering up something else. */ -extern asmlinkage void __init start_kernel(void); +extern asmlinkage void __init __noreturn start_kernel(void); extern void __init __noreturn arch_call_rest_init(void); extern void __ref __noreturn rest_init(void); diff --git a/init/main.c b/init/main.c index 161ed956d738..65aab4e9bb49 100644 --- a/init/main.c +++ b/init/main.c @@ -937,7 +937,7 @@ static void __init print_unknown_bootoptions(void) memblock_free(unknown_options, len); } -asmlinkage __visible void __init __no_sanitize_address start_kernel(void) +asmlinkage __visible void __init __no_sanitize_address __noreturn start_kernel(void) { char *command_line; char *after_dashes; diff --git a/tools/objtool/check.c b/tools/objtool/check.c index e7442e7ad676..a6f9a4aeb77b 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -222,6 +222,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "rewind_stack_and_make_dead", "sev_es_terminate", "snp_abort", + "start_kernel", "stop_this_cpu", "usercopy_abort", "xen_cpu_bringup_again", From patchwork Sat Apr 8 00:09:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81104 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597012vqo; Fri, 7 Apr 2023 17:23:37 -0700 (PDT) X-Google-Smtp-Source: AKy350YXrjH+pt7N8wktA9RRHz+CLwT9Y8ShSevNXsHYS6JEm7RVz9Csjk4+UNW84EwWdA3vx7AS X-Received: by 2002:aa7:9907:0:b0:62d:b97f:e299 with SMTP id z7-20020aa79907000000b0062db97fe299mr436296pff.13.1680913416798; Fri, 07 Apr 2023 17:23:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913416; cv=none; d=google.com; s=arc-20160816; b=mHg8hXW/tVkrayGVyYeNATTxPVrkYF/NeMuXg8vFeeoporxrUBRpe0Ppf5T885FMBL uMAZc5AMqmXq0Udm6Mn55JpUnArJI6Ee7KCS2ZLka6kNz67InWFUPDifu1F3gBPrNeIA 7W5ZarlXdHoVKKgjYQwHkHQx+mTXutQs3aEltc6RGIEMjXLYb4RSI1Qgrum6i2tVfLtJ P+xzC2cIXy8+m24nGhuFwf94gvVwRfJ7UMGsoTJ4agPysKX5zXdOliDcbByTqD4mVfPK q0tzf/8+RZd2XxPJ2xRtE/S1qRHaMMq8lfMSgOdzCR/CAQ0pRqJOAWE62Zt4+jj+hXgi 9/bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=alyP+1/O4aZkwXP5cGR79413uPs1XewfocVXmJqTcfU=; b=MboTT/D+1VFbeASHyrQ3TARklmxsK/GvZWrRBij37QBjK62gu72goQHMkH96CwNfBr h23VN0nyTNDEOuk7dMD+FprMVj0w7QIbSxbS5ORD9fKrY+38HQLRuQhCCI0wXuZWt2gf xRf3/zKeYgo/WREbs1zy0dD9KE3VwuQ2ZwpXDc0BL+JmfK7vCBrbMizSlw2r7mSJPiNv UXNhY6Qui4M026b14teZxBATSGimOigD9Cpvun+SE8pdoQjWXUaVNGctqNBFaoVPxx3/ RVflohon6skSOg5VksWOfJ7J/kvINh0rnMBHg2WZ/k8/0Y92PVsMVwVPaTLmcATbTSY4 LsGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Vog0zB2x; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g6-20020aa79f06000000b00627e352eb4asi4567700pfr.326.2023.04.07.17.23.24; Fri, 07 Apr 2023 17:23:36 -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=@kernel.org header.s=k20201202 header.b=Vog0zB2x; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230365AbjDHAKb (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229748AbjDHAKV (ORCPT ); Fri, 7 Apr 2023 20:10:21 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 614841206E; Fri, 7 Apr 2023 17:10:20 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id EB03A654D3; Sat, 8 Apr 2023 00:10:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA00FC4339C; Sat, 8 Apr 2023 00:10:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912619; bh=ENervz53/wnYiq/jM6rz/PJ4Mr7rjEy1YUwRQmKVdYc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vog0zB2xVU6rXZ83q4ZhYg9e8E2Kyx8CggkWT5YrDXlly3Ln0prP4ByeXsQDOItaG f20sOvdzcwGK2j7KRW/TP9s4Na6gnGV8k4wVDONN/bRwpITFPkN1CBbAl+4DL8e3Ri SarLCKieozC6Y0j7I9mqt+tDXQOkjT/NfMAEOAWEvemT8vi0Mh3ug38z3F3E7zUx/6 Mxv6w9C3QRpFLMxg6xI577cybygJPyOu6BmW9PofP0r+DLAYx8cEVAcYHbiTStbr6b lqSFI2JVMtxdKDHrJ/M6UmDBZhIDAyNPgZOjEiNvFs2SfC5/bHKKIutcnsluLje0PZ IRHAlEf/rKw0g== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 03/11] x86/head: Mark *_start_kernel() __noreturn Date: Fri, 7 Apr 2023 17:09:56 -0700 Message-Id: <064f6f3473b39061aad3b9aa09f21b4fe724e5f9.1680912057.git.jpoimboe@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565467201870501?= X-GMAIL-MSGID: =?utf-8?q?1762565467201870501?= Fixes the following warning: vmlinux.o: warning: objtool: resume_play_dead+0x21: unreachable instruction Signed-off-by: Josh Poimboeuf --- arch/x86/include/asm/setup.h | 6 +++--- arch/x86/kernel/head32.c | 2 +- arch/x86/kernel/head64.c | 4 ++-- tools/objtool/check.c | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index f37cbff7354c..f3495623ac99 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h @@ -125,11 +125,11 @@ void clear_bss(void); #ifdef __i386__ -asmlinkage void __init i386_start_kernel(void); +asmlinkage void __init __noreturn i386_start_kernel(void); #else -asmlinkage void __init x86_64_start_kernel(char *real_mode); -asmlinkage void __init x86_64_start_reservations(char *real_mode_data); +asmlinkage void __init __noreturn x86_64_start_kernel(char *real_mode); +asmlinkage void __init __noreturn x86_64_start_reservations(char *real_mode_data); #endif /* __i386__ */ #endif /* _SETUP */ diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c index ec6fefbfd3c0..10c27b4261eb 100644 --- a/arch/x86/kernel/head32.c +++ b/arch/x86/kernel/head32.c @@ -29,7 +29,7 @@ static void __init i386_default_early_setup(void) x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc; } -asmlinkage __visible void __init i386_start_kernel(void) +asmlinkage __visible void __init __noreturn i386_start_kernel(void) { /* Make sure IDT is set up before any exception happens */ idt_setup_early_handler(); diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index 387e4b12e823..49f7629b17f7 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c @@ -471,7 +471,7 @@ static void __init copy_bootdata(char *real_mode_data) sme_unmap_bootdata(real_mode_data); } -asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data) +asmlinkage __visible void __init __noreturn x86_64_start_kernel(char * real_mode_data) { /* * Build-time sanity checks on the kernel image and module @@ -537,7 +537,7 @@ asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data) x86_64_start_reservations(real_mode_data); } -void __init x86_64_start_reservations(char *real_mode_data) +void __init __noreturn x86_64_start_reservations(char *real_mode_data) { /* version is always not zero if it is copied */ if (!boot_params.hdr.version) diff --git a/tools/objtool/check.c b/tools/objtool/check.c index a6f9a4aeb77b..4e89342dd8fb 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -225,6 +225,8 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "start_kernel", "stop_this_cpu", "usercopy_abort", + "x86_64_start_kernel", + "x86_64_start_reservations", "xen_cpu_bringup_again", "xen_start_kernel", }; From patchwork Sat Apr 8 00:09:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81095 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp592764vqo; Fri, 7 Apr 2023 17:11:19 -0700 (PDT) X-Google-Smtp-Source: AKy350YoP8zqxj4ZdD9VLQt+MqHDIKK3M3S5WHqsbJVniePaS0+FM/9qRMeYkshfGOgs54e2+ipb X-Received: by 2002:a17:902:db10:b0:19c:b11b:ffca with SMTP id m16-20020a170902db1000b0019cb11bffcamr5368902plx.23.1680912679457; Fri, 07 Apr 2023 17:11:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680912679; cv=none; d=google.com; s=arc-20160816; b=jcQEoeJ1x1VFSpHf7eSxc0GFkvBdCcEQwoXn2DlGxCIbjFY/6HNvuflwxIfUOjE5Xu lLT4+5ApQgJ948Y5QR6ll6jQXsp2yLL0YFIUV58EGVhCMrvKCVDSVCGJfwwS+FADvjoI d2LAQBw7JSZD14+XXGK1bXWFq+/kpc1MrEZLyOoWSucogbDSCFifVPpyiM58Npz11O8M 3oD1vLiopTEfzk9+PysOJvu632yeNHwwOx61eNfN3xfd173op1CMqIfvmJz0lL64LTwA O/p9s9UKwNNvHYkVOnvu7128wHSnfZCYUtl1OGDWfyyERUjZxkIOY6RZF7oiJfDeY8pQ z9oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NwyfgLkVtC3yFTuO3aQmP6SksNIgumnhsy5tNjaNvyQ=; b=cm60ec6hnNGAown/x0j/X+hZo9otPD2YLdCMfaSo/Gji8QMpx01/YQZX2bnYvwKiQL Ju31hNvQ+inkTAJ+K7xeCfCOIijlfUFDsF21pKyJD7/3dqM2cXlI6eoPWSy53iuPcxrH CYAQVbvvwad0cJ5sCFii3t8gZQKmVAu1nd76DnVfO7S8jCwV8+4xwuC8MHSe3jTThDck icJI+E4pv9jlGHO0HJei5s17cvv8aufESdI9/i4x7foBL8LJl1uc0yed+pPaBjfTERcu /bcoLWZVK6y03BXWIxKoQvXRlwk2BO0gmsaa2a/PlVjrdGtCM+ZVQRsKEoWtP/0Cx48w OvQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=DHa2zWGk; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 133-20020a63018b000000b0050c0a48480bsi4439680pgb.798.2023.04.07.17.11.06; Fri, 07 Apr 2023 17:11:19 -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=@kernel.org header.s=k20201202 header.b=DHa2zWGk; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229957AbjDHAKa (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229753AbjDHAKV (ORCPT ); Fri, 7 Apr 2023 20:10:21 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAC4C1206F; Fri, 7 Apr 2023 17:10:20 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8BDB064D4F; Sat, 8 Apr 2023 00:10:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81D6CC433EF; Sat, 8 Apr 2023 00:10:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912620; bh=Y24E//AFgJa1BYqzIZQkT51HDOY1pbQOmULD9FbfvAc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DHa2zWGkNnPCMRm5l7XNKscXmiMhJV1YxIpVRbFAqdMBe7z/X2yG/UFRJQigvmnFe dzgvW+MBR216DGe/Cu7iofmfmGk1D/4G++oRoPy1Am9LU7Mcy7zPIbQy5sI5BHz3F4 6Mqzz2sM59+tej9aHjLWwob+2cv0rxYcJO8YSJCBTWFFfE7GQ2bDtgLh3J9Y6XIWHb exDJ3DVS9kBlnFOJfX833qv7Kch3vUQkiEZAub5Ok9nPCH+X6iMHJNC5b/VAp+BTDF f7PqKWuQrT0MukhkYsVbpgtIHk+/922FxoWEI/DObimNdhnBwKdV+NLkpCAfd397HC 1+mrwMAQNE8iA== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley , kernel test robot Subject: [PATCH 04/11] btrfs: Mark btrfs_assertfail() __noreturn Date: Fri, 7 Apr 2023 17:09:57 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762564693879566314?= X-GMAIL-MSGID: =?utf-8?q?1762564693879566314?= Fixes a bunch of warnings including: vmlinux.o: warning: objtool: select_reloc_root+0x314: unreachable instruction vmlinux.o: warning: objtool: finish_inode_if_needed+0x15b1: unreachable instruction vmlinux.o: warning: objtool: get_bio_sector_nr+0x259: unreachable instruction vmlinux.o: warning: objtool: raid_wait_read_end_io+0xc26: unreachable instruction vmlinux.o: warning: objtool: raid56_parity_alloc_scrub_rbio+0x37b: unreachable instruction ... Reported-by: kernel test robot Link: https://lore.kernel.org/oe-kbuild-all/202302210709.IlXfgMpX-lkp@intel.com/ Signed-off-by: Josh Poimboeuf --- fs/btrfs/messages.c | 2 +- fs/btrfs/messages.h | 2 +- tools/objtool/check.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/messages.c b/fs/btrfs/messages.c index fde5aaa6e7c9..310a05cf95ef 100644 --- a/fs/btrfs/messages.c +++ b/fs/btrfs/messages.c @@ -253,7 +253,7 @@ void __cold _btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, #endif #ifdef CONFIG_BTRFS_ASSERT -void __cold btrfs_assertfail(const char *expr, const char *file, int line) +void __cold __noreturn btrfs_assertfail(const char *expr, const char *file, int line) { pr_err("assertion failed: %s, in %s:%d\n", expr, file, line); BUG(); diff --git a/fs/btrfs/messages.h b/fs/btrfs/messages.h index 8c516ee58ff9..ac2d1982ba3d 100644 --- a/fs/btrfs/messages.h +++ b/fs/btrfs/messages.h @@ -160,7 +160,7 @@ do { \ } while (0) #ifdef CONFIG_BTRFS_ASSERT -void __cold btrfs_assertfail(const char *expr, const char *file, int line); +void __cold __noreturn btrfs_assertfail(const char *expr, const char *file, int line); #define ASSERT(expr) \ (likely(expr) ? (void)0 : btrfs_assertfail(#expr, __FILE__, __LINE__)) diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 4e89342dd8fb..a8714d62074e 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -204,6 +204,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "__ubsan_handle_builtin_unreachable", "arch_call_rest_init", "arch_cpu_idle_dead", + "btrfs_assertfail", "cpu_bringup_and_idle", "cpu_startup_entry", "do_exit", From patchwork Sat Apr 8 00:09:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81100 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp595555vqo; Fri, 7 Apr 2023 17:18:59 -0700 (PDT) X-Google-Smtp-Source: AKy350Y4ume1P15ds8huHY5hPEEmaUMbM6hhCWGcML1LyF38s75NUFfEUUdTl6pQUaNXacg+DMRp X-Received: by 2002:a17:906:b197:b0:92b:846d:8928 with SMTP id w23-20020a170906b19700b0092b846d8928mr229976ejy.65.1680913139154; Fri, 07 Apr 2023 17:18:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913139; cv=none; d=google.com; s=arc-20160816; b=SjhKhU2YeA6tI2lZmx8J5FwR7X++7fR1DsrURMGziAK7WV+V2sEj4jBHagmARvciTW Lp373SL7nKrUMRMdNVXjdX4x3/XRB+ESmamajVjhpfRwaifVYBC5mNwWo7rS35t9skVg rAwdgJasbVPhgVb7v72hheG94N2Uxx5o7pwbG/sdw0kdHxG+7Z3XRto7qM30FzDUb3OQ N1J7tby015loVi7KdvNur6XZw7h3vsDTdF1pkiHSNK6E4kjunscXInLpnW8n2/IXpizp JcyV0SRoHoRlWFFGNnqmwnbfRafwwcm/65OgMDjwg8FG7OyvZ7262PF3ShTVRhAr/D+S bKLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nzNG7SLYzK1B84JhGDQ6muZ4T9a4k3NHaq1jLEOfrtw=; b=PHl3mEcE0ZY/SY4mWXgn09F11YbQ5L39YNCZZslqcZpnqnlIPViYZWKKedzZjjfaBc OVM1yqwwBQ1F4N9fnr3tiAaYki+DCBlazom7Y1t1V051vQh0GyBg+kxnS5aWRdzjH+76 vXExd+PfdqEOtlicDm+jOFk5kC9EbZX3zECPDXRLry3zTjUSGf2Jnbh/AYdph5XVczen hEPEJzNLIiZhw5fSOA0YOjrFKiHdt0yXQqqetOI/XHLPxvja3PTdn0YPEJOA/EeghTsy FPra9hhnzJaye0F4h1Mn2t7t4gHJikVvBF6Lo5Mz6+fopyY0qspEbISvjuhIND98Vch/ dAFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LecSTGXf; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hb10-20020a170906b88a00b00947f88802d6si3489553ejb.974.2023.04.07.17.18.35; Fri, 07 Apr 2023 17:18:59 -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=@kernel.org header.s=k20201202 header.b=LecSTGXf; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230367AbjDHAKe (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229773AbjDHAKW (ORCPT ); Fri, 7 Apr 2023 20:10:22 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8563C12076; Fri, 7 Apr 2023 17:10:21 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1CF54654D1; Sat, 8 Apr 2023 00:10:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EF87C433D2; Sat, 8 Apr 2023 00:10:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912620; bh=zUGSsj8hkckyP3GP60SxHUL7OP0bWqcy2LoaBTZP8Aw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LecSTGXfK1RuVLqX81FwFEnLAnHgyXYQQn5nx/Tqpx77+6l2XIzMyDpgldia+mJUC gvILubXGZzSED6p+1xJ30DVmOTPYiZYsKbwS1tGPY81eywLPIBrbF2ZMSu7v+gFQDY pH+ZvWSfN4E+vRz24yG3Zz/LDDgsrwvoy6oXO5pbxmxjE7cqj1ky/h8xEHLbD9so2B oWQIeUmozshcO5NOkR2aBMTq+BtjK8mVaoonghGfd/UKMqwjb0nSZiYoxFAHUDn7u8 LE4DEBtPWnUr8McdFc2Bb/goAzCO3kvbTgXYqN0fO7z/z2op2rAS8O5QIjr+LpjEIh fA9gZhiHgxXpw== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 05/11] arm64/cpu: Mark cpu_park_loop() and friends __noreturn Date: Fri, 7 Apr 2023 17:09:58 -0700 Message-Id: <59dd17c29a33a2017ffa3412f40b39854fb5ba18.1680912057.git.jpoimboe@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565175356309813?= X-GMAIL-MSGID: =?utf-8?q?1762565175356309813?= In preparation for marking panic_smp_self_stop() __noreturn across the kernel, first mark the arm64 implementation of cpu_park_loop() and related functions __noreturn. Signed-off-by: Josh Poimboeuf --- arch/arm64/include/asm/exception.h | 2 +- arch/arm64/include/asm/smp.h | 6 +++--- arch/arm64/kernel/entry-common.c | 2 +- arch/arm64/kernel/smp.c | 8 +++++--- arch/arm64/kernel/traps.c | 3 +-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h index 92963f98afec..01b5b99c6c66 100644 --- a/arch/arm64/include/asm/exception.h +++ b/arch/arm64/include/asm/exception.h @@ -80,5 +80,5 @@ void do_el1_fpac(struct pt_regs *regs, unsigned long esr); void do_serror(struct pt_regs *regs, unsigned long esr); void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags); -void panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far); +void __noreturn panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far); #endif /* __ASM_EXCEPTION_H */ diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h index 5733a31bab08..07f4ea1490f4 100644 --- a/arch/arm64/include/asm/smp.h +++ b/arch/arm64/include/asm/smp.h @@ -101,9 +101,9 @@ extern int __cpu_disable(void); extern void __cpu_die(unsigned int cpu); extern void __noreturn cpu_die(void); -extern void cpu_die_early(void); +extern void __noreturn cpu_die_early(void); -static inline void cpu_park_loop(void) +static inline void __noreturn cpu_park_loop(void) { for (;;) { wfe(); @@ -123,7 +123,7 @@ static inline void update_cpu_boot_status(int val) * which calls for a kernel panic. Update the boot status and park the calling * CPU. */ -static inline void cpu_panic_kernel(void) +static inline void __noreturn cpu_panic_kernel(void) { update_cpu_boot_status(CPU_PANIC_KERNEL); cpu_park_loop(); diff --git a/arch/arm64/kernel/entry-common.c b/arch/arm64/kernel/entry-common.c index cce1167199e3..3af3c01c93a6 100644 --- a/arch/arm64/kernel/entry-common.c +++ b/arch/arm64/kernel/entry-common.c @@ -840,7 +840,7 @@ UNHANDLED(el0t, 32, error) #endif /* CONFIG_COMPAT */ #ifdef CONFIG_VMAP_STACK -asmlinkage void noinstr handle_bad_stack(struct pt_regs *regs) +asmlinkage void noinstr __noreturn handle_bad_stack(struct pt_regs *regs) { unsigned long esr = read_sysreg(esr_el1); unsigned long far = read_sysreg(far_el1); diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index d5d09a18b4f8..07d156fddb5f 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -398,7 +398,7 @@ static void __cpu_try_die(int cpu) * Kill the calling secondary CPU, early in bringup before it is turned * online. */ -void cpu_die_early(void) +void __noreturn cpu_die_early(void) { int cpu = smp_processor_id(); @@ -816,7 +816,7 @@ void arch_irq_work_raise(void) } #endif -static void local_cpu_stop(void) +static void __noreturn local_cpu_stop(void) { set_cpu_online(smp_processor_id(), false); @@ -839,7 +839,7 @@ void panic_smp_self_stop(void) static atomic_t waiting_for_crash_ipi = ATOMIC_INIT(0); #endif -static void ipi_cpu_crash_stop(unsigned int cpu, struct pt_regs *regs) +static void __noreturn ipi_cpu_crash_stop(unsigned int cpu, struct pt_regs *regs) { #ifdef CONFIG_KEXEC_CORE crash_save_cpu(regs, cpu); @@ -854,6 +854,8 @@ static void ipi_cpu_crash_stop(unsigned int cpu, struct pt_regs *regs) /* just in case */ cpu_park_loop(); +#else + BUG(); #endif } diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 4a79ba100799..4bb1b8f47298 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -863,7 +863,7 @@ void bad_el0_sync(struct pt_regs *regs, int reason, unsigned long esr) DEFINE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack) __aligned(16); -void panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far) +void __noreturn panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigned long far) { unsigned long tsk_stk = (unsigned long)current->stack; unsigned long irq_stk = (unsigned long)this_cpu_read(irq_stack_ptr); @@ -905,7 +905,6 @@ void __noreturn arm64_serror_panic(struct pt_regs *regs, unsigned long esr) nmi_panic(regs, "Asynchronous SError Interrupt"); cpu_park_loop(); - unreachable(); } bool arm64_is_fatal_ras_serror(struct pt_regs *regs, unsigned long esr) From patchwork Sat Apr 8 00:09:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81102 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp596404vqo; Fri, 7 Apr 2023 17:21:32 -0700 (PDT) X-Google-Smtp-Source: AKy350bQAsW0LOwfAwq2zz5qvUgMai2Ec9hhvJCXbRbh/ap/Tv8cB5SSwYg0WB2e3dnQTGqdjOoK X-Received: by 2002:a05:6a20:b127:b0:da:2dc:5642 with SMTP id ed39-20020a056a20b12700b000da02dc5642mr112262pzb.58.1680913292064; Fri, 07 Apr 2023 17:21:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913292; cv=none; d=google.com; s=arc-20160816; b=N0ckJyq2WoGuZyEAF77IgN6o/nDSrsH2IDrwKHsV3Edxtm+fwDFB8r0q94WEW9y5Eb Kka63S3w7LCyLtrzAGysLyrzvBRhSJdV24dM7LCrE1MphOvYU14fQgZ2aW8ABtPDtOWJ ZRS8QxUu0icwNnP06NTauO7lIjgWqIpGeELPAaXItqWBmAFQJXG9mwoqbFIL9jl0DTAZ bhnGmXNPPgV+cCLtH+X9KkQrB37LCUMpJC3B/ziQzNFo6G8e0tujbqM3OMb5roTBhJIL KDTg2/R1qTQGOjV+6UdGfDKdVgqjYffi+Du4eMhrahhVKGIgE55De0+Te9XuSb7WJ9nn mX7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iV34wRoou2BuCzxQ+r9iQNV7/FiWQ21ZLF4A8NbLC48=; b=V/4WskGfGjfiUReSYrEvYxbvEHNNTuTlhnnmfXKtZGehD/TNsGFC1DTwm37yfpFgU8 43Ejx7OcCcdpU5QsEUTxiOvyASWlrvXBXN0LpAGY5U0EB/U/POjCC3UpjQ5JNmYI75Vn /onzDOC5i0nglxsYhrovXkiM3mkWk+Du/P9/REgHCWhpFFZU7JqvUFK9OimGIOhCNjuh E+u84+IbM1pr5e8KWebLkx9Aj0rMboG5LT276HDNmPZhI0vSJ2TR4HeWjeOMDp+sZCHY os6w5fem5aG6Lwy6v3XfkW1m90KjFB12ArVoyXtBh9i7wZ4Uz5Z/rdTryQ+h14t8Iapu Y98w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FVOlD6aa; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e13-20020a65678d000000b00513601ad3d0si4724246pgr.383.2023.04.07.17.21.19; Fri, 07 Apr 2023 17:21:32 -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=@kernel.org header.s=k20201202 header.b=FVOlD6aa; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229625AbjDHAKi (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60122 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbjDHAKX (ORCPT ); Fri, 7 Apr 2023 20:10:23 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4E2E12079; Fri, 7 Apr 2023 17:10:21 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A65FD64D4F; Sat, 8 Apr 2023 00:10:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEB62C433EF; Sat, 8 Apr 2023 00:10:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912621; bh=35Kr4V1gCXwWl/a9aoirKWVQHL2qZ8n8VvdR/pC7yWE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FVOlD6aaQoqrpAEF5eJGLGHhW4i3Kd8oLXdtD7DoqK3O86In16dewcqVT6toE//lU 9hfVuhaXlV9AcwHtcnB5TLnHd8W96yVeqinIO13FkoALEe9z2dWq3b1URuck2T0mBe FNa+G4SYfjZNQ1CTDDdEL8jakrJNJHz1cmDiDclhgJxAcN9zfW1pSt3JhjBO0shUfi KIQ9gF4hZhZVy4gKr1qP3yXpUrIGosbCQFqEcd0MRIE1teYMjVlOaPQGuN7EYLCqLA i0S6VHlKUyy0u/aWGgtDKjDYuURxwlBKTrB1ONjw+EKwFHz9KhYoBgFMIgXUgnFzrZ owL+HagREDTOQ== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 06/11] cpu: Mark panic_smp_self_stop() __noreturn Date: Fri, 7 Apr 2023 17:09:59 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565336042457374?= X-GMAIL-MSGID: =?utf-8?q?1762565336042457374?= panic_smp_self_stop() doesn't return. Annotate it as such. Signed-off-by: Josh Poimboeuf --- arch/arm/kernel/smp.c | 2 +- arch/arm64/include/asm/smp.h | 1 - arch/arm64/kernel/smp.c | 2 +- arch/powerpc/kernel/setup_64.c | 2 +- include/linux/smp.h | 2 +- kernel/panic.c | 2 +- tools/objtool/check.c | 1 + 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index d6be4507d22d..f4a4ac028b6b 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -779,7 +779,7 @@ void smp_send_stop(void) * kdump fails. So split out the panic_smp_self_stop() and add * set_cpu_online(smp_processor_id(), false). */ -void panic_smp_self_stop(void) +void __noreturn panic_smp_self_stop(void) { pr_debug("CPU %u will stop doing anything useful since another CPU has paniced\n", smp_processor_id()); diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h index 07f4ea1490f4..f2d26235bfb4 100644 --- a/arch/arm64/include/asm/smp.h +++ b/arch/arm64/include/asm/smp.h @@ -143,7 +143,6 @@ bool cpus_are_stuck_in_kernel(void); extern void crash_smp_send_stop(void); extern bool smp_crash_stop_failed(void); -extern void panic_smp_self_stop(void); #endif /* ifndef __ASSEMBLY__ */ diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 07d156fddb5f..05fe797e4203 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -830,7 +830,7 @@ static void __noreturn local_cpu_stop(void) * that cpu_online_mask gets correctly updated and smp_send_stop() can skip * CPUs that have already stopped themselves. */ -void panic_smp_self_stop(void) +void __noreturn panic_smp_self_stop(void) { local_cpu_stop(); } diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index b2e0d3ce4261..246201d0d879 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c @@ -480,7 +480,7 @@ void early_setup_secondary(void) #endif /* CONFIG_SMP */ -void panic_smp_self_stop(void) +void __noreturn panic_smp_self_stop(void) { hard_irq_disable(); spin_begin(); diff --git a/include/linux/smp.h b/include/linux/smp.h index a80ab58ae3f1..2a737b39cf0a 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -59,7 +59,7 @@ int smp_call_function_single_async(int cpu, struct __call_single_data *csd); * Cpus stopping functions in panic. All have default weak definitions. * Architecture-dependent code may override them. */ -void panic_smp_self_stop(void); +void __noreturn panic_smp_self_stop(void); void nmi_panic_self_stop(struct pt_regs *regs); void crash_smp_send_stop(void); diff --git a/kernel/panic.c b/kernel/panic.c index 5cfea8302d23..5e4982db8dc9 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -141,7 +141,7 @@ EXPORT_SYMBOL(panic_blink); /* * Stop ourself in panic -- architecture code may override this */ -void __weak panic_smp_self_stop(void) +void __weak __noreturn panic_smp_self_stop(void) { while (1) cpu_relax(); diff --git a/tools/objtool/check.c b/tools/objtool/check.c index a8714d62074e..3d0531f5e491 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -219,6 +219,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "machine_real_restart", "make_task_dead", "panic", + "panic_smp_self_stop", "rest_init", "rewind_stack_and_make_dead", "sev_es_terminate", From patchwork Sat Apr 8 00:10:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81097 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp593378vqo; Fri, 7 Apr 2023 17:12:50 -0700 (PDT) X-Google-Smtp-Source: AKy350ZbEVCYkiRjxoWUkCEJuD6trBpgVLQS/yuJp2aGpNx43IvTp8qx+FGcw30B8S6rtbomtxyS X-Received: by 2002:a05:6a20:4d9b:b0:d5:b3d1:bff9 with SMTP id gj27-20020a056a204d9b00b000d5b3d1bff9mr4449396pzb.52.1680912770638; Fri, 07 Apr 2023 17:12:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680912770; cv=none; d=google.com; s=arc-20160816; b=koPlU8FLIA+OYT//kwBqC68Wyz7aqWtNdfD66F+XGZ2l8bnljdpJrmmw1s+82D+mY2 B7pXuoGjbJ5SsGFu0aLOve1FdOBi+fsJoHQLOMrqPPgxPfOViw1dd07eur6j8juQXbgK VzIxh2VVXUdFNqDObF0KFw5D42oXWwHmgRrV+/zQyOecwmyszWmbxiD+jTPBe3yE5kO7 uhOJwtj6NgT1d7wEy3o//s+t3FJYJWfK5wxzI8s5o4mZ/c6Lw2Yaa5ziSlKO3edHcyL3 DYQI/gb5iH7K9bAZFSHFx+ayGDvz0lfNZFuoPEXYHOb9ufUkIV5DBhzwx8BK1g9XnmhE M8mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=EoOSbdtZgbFI1eyc21JO82vKjZ/fGkzIvLFYjfAHh/w=; b=cDPnpuD2EfrdlRtf0ZixgXDFksxirLjh4WbPZaeHZtzlIW5FOSxBHXN0jDF4ZpzwX6 BdtTPsTIN1pcg2sYgP+4OH1bHo11X51fyFqJtZBC6mdlt25fsbqWwa0LOPywFkf1UMwK Gq6B3LLzR8zZA0IB4BNK/OGAch5rDU/idsHaspRY5az41rB+Ytq9URmICp22XCjlaLvs zDmBruJP1zAXgMucxTVetyg5MX/1g9sCcGKW3i4dqzHW4Ub0qhfL38ZOSPm3HUWYYEgc z/DofToTTEw1jojmzJT1gOpBHxZukf0AwPrTc8VsDcFAV2IskEGi9cnmcLpefAcJGvcj fxhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nPH3LJbQ; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g6-20020aa79f06000000b00627e352eb4asi4567700pfr.326.2023.04.07.17.12.25; Fri, 07 Apr 2023 17:12:50 -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=@kernel.org header.s=k20201202 header.b=nPH3LJbQ; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231273AbjDHAKy (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229692AbjDHAKX (ORCPT ); Fri, 7 Apr 2023 20:10:23 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C35712841; Fri, 7 Apr 2023 17:10:21 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D4F6E65552; Sat, 8 Apr 2023 00:10:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43311C4339C; Sat, 8 Apr 2023 00:10:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912621; bh=8Wpo0zdZjSmIBevJj4YHbI1z35ru0vEqHDShZ9RN6Ak=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nPH3LJbQUuUgStmeI351naBjZf2Xle7BGCsXSyYv664fqFiGn3/BUgOP1IPpRwQM/ gaJT9+S/CmaeLo613fWQV0/0H8iEf74HRS5znCFEymCqTsmoK/4AEWXcJDoWu8p4HO Qol+GUA1uY8csEQd4SdYXXmX5vIkVmcj1Xt+xJ5Vy4DtDfD4Kfqfv97e5dyfQfLWhL 1nS6wWvleWrP5H48QLwKTITjLoU9XKskv9Zyv21pC0KT5v3okaWLvCeKqtx2ecSqUk SMYtAK1QT5FYw76c1DZJF0kMRdBtXezSzTD72T0bCfFlU8WVyTQgUK0vDJArgMvrGM vT3+vmkNdBQwA== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 07/11] cpu: Mark nmi_panic_self_stop() __noreturn Date: Fri, 7 Apr 2023 17:10:00 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762564789627728658?= X-GMAIL-MSGID: =?utf-8?q?1762564789627728658?= nmi_panic_self_stop() doesn't return. Annotate it as such. Signed-off-by: Josh Poimboeuf --- arch/x86/include/asm/reboot.h | 1 - arch/x86/kernel/reboot.c | 2 +- include/linux/smp.h | 2 +- kernel/panic.c | 2 +- tools/objtool/check.c | 1 + 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/reboot.h b/arch/x86/include/asm/reboot.h index bc5b4d788c08..9177b4354c3f 100644 --- a/arch/x86/include/asm/reboot.h +++ b/arch/x86/include/asm/reboot.h @@ -28,7 +28,6 @@ void __noreturn machine_real_restart(unsigned int type); void cpu_emergency_disable_virtualization(void); typedef void (*nmi_shootdown_cb)(int, struct pt_regs*); -void nmi_panic_self_stop(struct pt_regs *regs); void nmi_shootdown_cpus(nmi_shootdown_cb callback); void run_crash_ipi_callback(struct pt_regs *regs); diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index d03c551defcc..3adbe97015c1 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c @@ -920,7 +920,7 @@ void run_crash_ipi_callback(struct pt_regs *regs) } /* Override the weak function in kernel/panic.c */ -void nmi_panic_self_stop(struct pt_regs *regs) +void __noreturn nmi_panic_self_stop(struct pt_regs *regs) { while (1) { /* If no CPU is preparing crash dump, we simply loop here. */ diff --git a/include/linux/smp.h b/include/linux/smp.h index 2a737b39cf0a..7b93504eed26 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -60,7 +60,7 @@ int smp_call_function_single_async(int cpu, struct __call_single_data *csd); * Architecture-dependent code may override them. */ void __noreturn panic_smp_self_stop(void); -void nmi_panic_self_stop(struct pt_regs *regs); +void __noreturn nmi_panic_self_stop(struct pt_regs *regs); void crash_smp_send_stop(void); /* diff --git a/kernel/panic.c b/kernel/panic.c index 5e4982db8dc9..886d2ebd0a0d 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -151,7 +151,7 @@ void __weak __noreturn panic_smp_self_stop(void) * Stop ourselves in NMI context if another CPU has already panicked. Arch code * may override this to prepare for crash dumping, e.g. save regs info. */ -void __weak nmi_panic_self_stop(struct pt_regs *regs) +void __weak __noreturn nmi_panic_self_stop(struct pt_regs *regs) { panic_smp_self_stop(); } diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 3d0531f5e491..c5621dd866e1 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -218,6 +218,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "lbug_with_loc", "machine_real_restart", "make_task_dead", + "nmi_panic_self_stop", "panic", "panic_smp_self_stop", "rest_init", From patchwork Sat Apr 8 00:10:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81099 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp595096vqo; Fri, 7 Apr 2023 17:17:33 -0700 (PDT) X-Google-Smtp-Source: AKy350ZeKFq+luVtIFO83gq8VF2hb2URsceIp0o9xjsXeVSdQeeSwnOyetLeQh5HGsF5gej2LF+w X-Received: by 2002:aa7:9739:0:b0:62d:b4ab:2ffb with SMTP id k25-20020aa79739000000b0062db4ab2ffbmr3779868pfg.3.1680913053473; Fri, 07 Apr 2023 17:17:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913053; cv=none; d=google.com; s=arc-20160816; b=RTSilEknb+QBqsy36FT905r/fXRrsyXmWF3mqb/2zpNn+NtXL2w8OqFBUfti/5DJfU s01RSwRhEgfYJlQ07GzCAk3n257PES9ZPEWspnpBBow0CeFDIkDvTHvRiDap4ICpbak4 CqndgnIbmuioZiV4geEi8GncgaYUDXtQ5GjeeJMV8zGDgUI4PgmrXaonAhM2/5Y6lSgE F8vQBzOKxB9NNdVGPa5CcnlddtEgbWzlm23X7L44z29bzXWEHO8My0VLo3ak5NwvyVup oZtfzQpY8DU/9qkSR2t/eG7/q7SaPIqhSDMBZNDlM/vR+6R2M83Hk6iDGgiXpcCiGz7K DQhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nZD9jOl6WwkLcFVYSVGxa4WEGyc6YuoRTbR/K5LEcWU=; b=jjXZ4HWIjT5Ik5d0eVDU4PIdrqJAWTq6btmWKgywEnZkGddvJL18oZPSxvFd3uzNCz VZ79bYckF1PofVt1BPwBWBuzu9EMhU6jUCsK6zpxcusPTmD8nB2SmtA6Fq2fgyNqBtKZ VURqvtw4AKJBQQWHD/o0X4Qaavf2r8rxqPQ0tO1VOJzUfjiyUx5xTS/ZbJR2+6xt6ATT 6RoUuZogVMDQvu/MB3aVi5LTyO0EXkv/6egrVLanDMKJtGjttDuUaqwtRwaQUh58TyBG pguSTk0Spf1ZsYDnDU3led0uqHg5zhmw9NwyRpJhLyA8QL++m2yvM48zJzF/YzBZFpvb rDWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jMy4BGJS; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g6-20020aa79f06000000b00627e352eb4asi4567700pfr.326.2023.04.07.17.17.20; Fri, 07 Apr 2023 17:17:33 -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=@kernel.org header.s=k20201202 header.b=jMy4BGJS; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230519AbjDHAKl (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229822AbjDHAKY (ORCPT ); Fri, 7 Apr 2023 20:10:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEF2812847; Fri, 7 Apr 2023 17:10:22 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C8AE8654D1; Sat, 8 Apr 2023 00:10:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD14DC4339B; Sat, 8 Apr 2023 00:10:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912622; bh=eVYaPId8ce8d6PYbI3Mu03+6x8GX6n+SsMHo/vPZiic=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jMy4BGJS+3nARfaGn4u139NCqpnjuRoGFtNtmdQZvlBRCuM206vdzrt6yQloN36cq caKtVhCFRMm9Vc9F4CROupEXd9fgLheYWVpc3AaspK2gXeAFTRVKXPTOrO9DxsyQVF 1XYeZaBYNkx6hv9w4QZjMICQJyItUpoAW+EjC5yjvwNtpLiqpW7UdEm5rnwboEdhiF DB6uJNFH9kdRklDNNZ+rzqwZf1Yeadk61ir4UxW23Fjl77FtKYGoGoIp1C7nga+Jf2 NCt1lyBAayhV6dbHujffEStGK8vVXV3vGdl9AlfuN4K2vGYr0aXz4jNopnBJyhTpTJ fs32cLl1TbGFA== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 08/11] x86/cpu: Mark {hlt,resume}_play_dead() __noreturn Date: Fri, 7 Apr 2023 17:10:01 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565086181625065?= X-GMAIL-MSGID: =?utf-8?q?1762565086181625065?= Fixes the following warning: vmlinux.o: warning: objtool: resume_play_dead+0x21: unreachable instruction Signed-off-by: Josh Poimboeuf --- arch/x86/include/asm/smp.h | 2 +- arch/x86/kernel/smpboot.c | 2 +- arch/x86/power/cpu.c | 2 +- tools/objtool/check.c | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h index e6d1d2810e38..47ce4c79a3b0 100644 --- a/arch/x86/include/asm/smp.h +++ b/arch/x86/include/asm/smp.h @@ -125,7 +125,7 @@ int native_cpu_up(unsigned int cpunum, struct task_struct *tidle); int native_cpu_disable(void); int common_cpu_die(unsigned int cpu); void native_cpu_die(unsigned int cpu); -void hlt_play_dead(void); +void __noreturn hlt_play_dead(void); void native_play_dead(void); void play_dead_common(void); void wbinvd_on_cpu(int cpu); diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 9013bb28255a..a6da3f94b7b6 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1816,7 +1816,7 @@ static inline void mwait_play_dead(void) } } -void hlt_play_dead(void) +void __noreturn hlt_play_dead(void) { if (__this_cpu_read(cpu_info.x86) >= 4) wbinvd(); diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c index 236447ee9beb..7a4d5e911415 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c @@ -288,7 +288,7 @@ EXPORT_SYMBOL(restore_processor_state); #endif #if defined(CONFIG_HIBERNATION) && defined(CONFIG_HOTPLUG_CPU) -static void resume_play_dead(void) +static void __noreturn resume_play_dead(void) { play_dead_common(); tboot_shutdown(TB_SHUTDOWN_WFS); diff --git a/tools/objtool/check.c b/tools/objtool/check.c index c5621dd866e1..a926da218c01 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -212,6 +212,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "do_task_dead", "ex_handler_msr_mce", "fortify_panic", + "hlt_play_dead", "kthread_complete_and_exit", "kthread_exit", "kunit_try_catch_throw", @@ -222,6 +223,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "panic", "panic_smp_self_stop", "rest_init", + "resume_play_dead", "rewind_stack_and_make_dead", "sev_es_terminate", "snp_abort", From patchwork Sat Apr 8 00:10:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81101 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp596117vqo; Fri, 7 Apr 2023 17:20:36 -0700 (PDT) X-Google-Smtp-Source: AKy350YGQCD4tckcesMbuLpENKdsNLF6e10dItVnEThmq0bdP4DtaHn61klEVa8LQBd+dJqnTkyS X-Received: by 2002:a17:906:edc6:b0:93e:24f6:d7a3 with SMTP id sb6-20020a170906edc600b0093e24f6d7a3mr1133335ejb.8.1680913236279; Fri, 07 Apr 2023 17:20:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680913236; cv=none; d=google.com; s=arc-20160816; b=DjQ2nuca2vJ1TpdY3itEkv9k/AI90RDob9Uyy77DNGeTdGtFGVefyoPTtxK08VjKEm TWnWo8K7uWcmOcwlYmGW/a0MSOhwNSbFxNtwN8sEcN4lpz5/l5Y+MxF1iWQsd2XAumSx VgbjDst2w+DA+U5EBMPDcElWfKtLVQSm8JIbD4oPqw1QBlsGJ+DYBmyfHB79ZAcBJKTN 3gIUm+abdZjAqnxTq81HA/DinJgYctIvxZn45pYSEJ0AwAE2uKsSL5uetw9QeJbP89Xm u1h17Lz9LvQOlkolCKD+cPzI/TwaBkWrdl2cs3WSaM5UdFkT6TmPQxNkFGsuJfXIPDPj iizQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2AMyCQ7cul2DO+ONJJhyvWDfDPkLyH5JISGixWGH+nE=; b=akh5bUhhyN3xZFJg77Lq3dKMrrtccQ4hHLed37tw/nOoLOtsVAM5ri0MBs0qoRJaGw mn1wk/W00LqBxpnme33zFh/GO/11L1hItOYTkUdh6Y0cihIdixhPZL+Gl5EYvD18866e E07YIbKLjYT1AypUZ4p3Xa1ujsMzoSyOkcFVxwhqjBkxsPep6ArwtAApyUsFmGHOx7v3 AKKbtUiRy1cj/CpTXad8xHBKvkanUY8vg1XL+YQmEBTMGdgvAJetTR/MSlYTALsPDb0K pj4aflWQ73gmkD71NZyiPuyK3KnHgAcgVHhpZKoHfpSnbGGN82NCXaorWROZ+47LXkgO NE2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=F2bFZsZQ; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b5-20020a170906708500b0093defbd628fsi4550340ejk.1046.2023.04.07.17.20.12; Fri, 07 Apr 2023 17:20:36 -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=@kernel.org header.s=k20201202 header.b=F2bFZsZQ; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230038AbjDHAKv (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229931AbjDHAKY (ORCPT ); Fri, 7 Apr 2023 20:10:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B3B912851; Fri, 7 Apr 2023 17:10:23 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6302664D4F; Sat, 8 Apr 2023 00:10:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6365FC4339C; Sat, 8 Apr 2023 00:10:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912622; bh=nPPJKoXoUDUyf2kVRAhGsCxgWLcp4kLpuj6wa6/Qr/k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=F2bFZsZQsdk0J2F99z8mRARYtyBZ4J35WIXonbBeBI/HVs0WBc4rjteQsgv6nYPRN ccXqfuJQl+2xsaizeMorppAdC1QWJOSMvXiGAdKMvFawvJOzhQjHE3alFD4FiMPwT/ QaBLzOQTT1XmEt8t+mvz1N8/o01fOc8Go5IZwFEsZpXfhKv8t9N2C5tYHwylNC804l /jY8suzff/3WiJ4Ej+1GHD/PMXDXDKpq/3Ho+d8p3/B7nf12jMe78hspXI2xe3ZNsS 9IAdJQsdOA3utdmErpBNWQ1DDGaSocRhjaORS9J85QpCaa+L9yBhjhJZJiibxVFc/m JyM6lkaQBameg== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 09/11] objtool: Include weak functions in global_noreturns check Date: Fri, 7 Apr 2023 17:10:02 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762565277600474681?= X-GMAIL-MSGID: =?utf-8?q?1762565277600474681?= If a global function doesn't return, and its prototype has the __noreturn attribute, its weak counterpart must also not return so that it matches the prototype and meets call site expectations. To properly follow the compiled control flow at the call sites, change the global_noreturns check to include both global and weak functions. On the other hand, if a weak function isn't in global_noreturns, assume the prototype doesn't have __noreturn. Even if the weak function doesn't return, call sites treat it like a returnable function. Signed-off-by: Josh Poimboeuf --- tools/objtool/check.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/objtool/check.c b/tools/objtool/check.c index a926da218c01..a42a2af99ea2 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -239,14 +239,14 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, if (!func) return false; - if (func->bind == STB_WEAK) - return false; - - if (func->bind == STB_GLOBAL) + if (func->bind == STB_GLOBAL || func->bind == STB_WEAK) for (i = 0; i < ARRAY_SIZE(global_noreturns); i++) if (!strcmp(func->name, global_noreturns[i])) return true; + if (func->bind == STB_WEAK) + return false; + if (!func->len) return false; From patchwork Sat Apr 8 00:10:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81098 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp593404vqo; Fri, 7 Apr 2023 17:12:55 -0700 (PDT) X-Google-Smtp-Source: AKy350aFe+l5RGEt0VXvmCwcj6kmkXCxUX3jz1p3czNkEsbmcsRmuhsrbahUAyfG+hn5Woltw+pV X-Received: by 2002:a05:6a20:2a10:b0:db:7055:d4e9 with SMTP id e16-20020a056a202a1000b000db7055d4e9mr4383041pzh.27.1680912775050; Fri, 07 Apr 2023 17:12:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680912775; cv=none; d=google.com; s=arc-20160816; b=Lrp4BFaJeyBHxDeim8AbM7jcNGiUXBeY4UsRwp7rMf+q88MTD0Fcb0I735+l8L2QVp ivMygpwOpdNi6fIjqDXcKJ0KrUsSQeoOgBbYyVm+r/IZ+grwOmhZLtw0gUGiPVF6V4cD 9D7DmCnrpef7kO5tbBEy3RscOvYdwvh4bnOEXWlocRlnrMsPVzqsPslLhyTG2tBT5yy/ SLl8NwFCceRTcfUafPNYMWyWbKapf5As8ou6+9GMt5IQUCH6chvFal2gidN9CFayTc7b Ney13bu+ul0WF7GesSgqL8VTLO/upZRdummRNA2Pju3Lroufv7Z8B3mj2qWxW+8F0YzT mH2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=t7QpP87CUX28uvZ6wWqq8ilh5/+FPySA8z1pvpJeNVs=; b=YT42Qx4YjSCVLEJVyc4AunUOaiNRIy5k+sLrz2MT6WhIb7CtFXp+9DrOp0ELqJl7+k vo4vky+SUol+7TAo7bV1YzXhJP7BGgUz3O6car0o57oubss62E6udeTb95aFXf9DLcUB N6Hy3AxrXsJOhqOZ5fRigsWiw6C8ySvWUDgLkjFkxhU3hxGEf9hekcQQtGy0CJQP+wC4 BqxPnM8BamcZvdhFYZX8ho6rA7a+4g0DDW0ekkn39pZHilKQ5wUCdTHV7axIiGv+3/YD 4p6bU/lixY+IOsvQZINeyXzBqIusaGBUZDJMxFkoLkfR9H7WU+HmVDtmC6X+1a40q28Z imHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nH5x0z6F; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r11-20020a635d0b000000b0050b3083b64fsi4484118pgb.429.2023.04.07.17.12.23; Fri, 07 Apr 2023 17:12:55 -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=@kernel.org header.s=k20201202 header.b=nH5x0z6F; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230146AbjDHAKs (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229973AbjDHAKZ (ORCPT ); Fri, 7 Apr 2023 20:10:25 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EE101207B; Fri, 7 Apr 2023 17:10:24 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id F258B654DF; Sat, 8 Apr 2023 00:10:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED6E4C4339B; Sat, 8 Apr 2023 00:10:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912623; bh=b7H0OJvgITv94oCGcITa5YVvEl/zb04TPx9I9PIgGgo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nH5x0z6FFxlmAqk1Z+5DbvThCvD42E6/lzLGoCaJ3O0l6koHnNOU487XixzyX9cx1 RgKw/Xfg+MyNHGnq/xn2pQOFNX9zOZ/T8ozXF1IOJLcG86B/H0wINW95EANefCtfTD 7JHot1O5MXM0e7DKs0nUeSVDAsmy5VlBRa2eQF6AHarBDqcc7sWCaaljqGJ9zy5yuK a4q12wKeMh1NJOcGRtd3sGb+lz1suDINSKvkpkTytxVN6mif/EVoFBqaUJH5eVnQeB N5YYagsrOFe2UDC166bnJs9Rc1XTPXa5BgWH9zSweGMg+uxpBeBMUIufKfNoAs4lMd Li+QbEapS6x9A== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley , kernel test robot Subject: [PATCH 10/11] scsi: message: fusion: Mark mpt_halt_firmware() __noreturn Date: Fri, 7 Apr 2023 17:10:03 -0700 Message-Id: <2c702dfc92ea7c34092e9039eafb60662fab90fd.1680912057.git.jpoimboe@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762564794093833846?= X-GMAIL-MSGID: =?utf-8?q?1762564794093833846?= mpt_halt_firmware() doesn't return. Mark it as such. Fixes the following warnings: vmlinux.o: warning: objtool: mptscsih_abort+0x7f4: unreachable instruction vmlinux.o: warning: objtool: mptctl_timeout_expired+0x310: unreachable instruction Reported-by: kernel test robot Link: https://lore.kernel.org/oe-kbuild-all/202302271743.78emit6I-lkp@intel.com/ Reported-by: Mark Rutland Debugged-by: Peter Zijlstra Signed-off-by: Josh Poimboeuf --- drivers/message/fusion/mptbase.c | 2 +- drivers/message/fusion/mptbase.h | 2 +- tools/objtool/check.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 9b3ba2df71c7..4f0afce8428d 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -6935,7 +6935,7 @@ EXPORT_SYMBOL(mpt_clear_taskmgmt_in_progress_flag); * @ioc: Pointer to MPT_ADAPTER structure * **/ -void +void __noreturn mpt_halt_firmware(MPT_ADAPTER *ioc) { u32 ioc_raw_state; diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 4bd0682c65d3..0f226cdad64f 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h @@ -945,7 +945,7 @@ extern int mpt_raid_phys_disk_get_num_paths(MPT_ADAPTER *ioc, u8 phys_disk_num); extern int mpt_set_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc); extern void mpt_clear_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc); -extern void mpt_halt_firmware(MPT_ADAPTER *ioc); +extern void __noreturn mpt_halt_firmware(MPT_ADAPTER *ioc); /* diff --git a/tools/objtool/check.c b/tools/objtool/check.c index a42a2af99ea2..8586d4c36600 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -219,6 +219,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "lbug_with_loc", "machine_real_restart", "make_task_dead", + "mpt_halt_firmware", "nmi_panic_self_stop", "panic", "panic_smp_self_stop", From patchwork Sat Apr 8 00:10:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Poimboeuf X-Patchwork-Id: 81096 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp593142vqo; Fri, 7 Apr 2023 17:12:16 -0700 (PDT) X-Google-Smtp-Source: AKy350bHgzRv4KVQH3OJguZDX4D5SyIWbJ/MDoTPa33FfOlotkMOHy5qEc3Xyag76jSvawf4OegB X-Received: by 2002:a05:6a20:b291:b0:d9:33a3:e7c5 with SMTP id ei17-20020a056a20b29100b000d933a3e7c5mr170266pzb.35.1680912736565; Fri, 07 Apr 2023 17:12:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680912736; cv=none; d=google.com; s=arc-20160816; b=iAZACaqS7msJtln8gU1fd4yXv3IJTT9F2FsSX7NH/1Hpk+D/8C3fPQfer4M6R6ELcZ ezY5RLdbxrFPM2KlR86wHTyLUAyEmh+xtj59dYxvUaP2JB2zF56/Nf4rBErATe7dJWfV Poma0QEnsAoPoRwBFoH2ewUddK+B4DeKLOjZTtOgfcN6teT/RkU5qzD+C4CrPjPHoftu J7jP2axHQExuskzSD0OEjgeRdu1OGUUjdgDjTT1CEOmKevR9h5sbQ7ShZ2BdlVNRZNZF IrHofd0LDM+f9WyMU539bNA/vprCeczkB9s6bVdrek2edmCy9EpsvbwGK4EOQNI5iKx3 YJIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gNCnYACum5opK3Ae1YA7voGe+6pyiQ0FNlRxR6BKzt0=; b=l3r1/eYjTG44WFanlZqQ42IuZi9afhc0hvl9qK7YSFLbXc00ruHa9JS65HUU3HjyUu MSUQxTpiSROcbo0h9klHc37ffaXX9duFjkkDDlH+MQ5xqTttLsGlaoIk7Rtia/kt5k54 8nTI7el++Rgep8YCqXrzqCvenZjVYwGBXDx0M/pKLotRJSRHjm2hMLaxv/c579hUzKqV OnbvX0LP3zd0nJ4h/t9BxpaACiHgJMpL3ejFvLOw4U1djoSP7nifr/FY2uqCr841FiPL wNZ4+sOC5mGtdt9SpCrEeWTdJR9E0SFGsR7pAsg0buu1Vs/nlHup5zqg5LoJ7H7wA75Q 306A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=p9adiUtt; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j4-20020a634a44000000b0050fa9c7e64esi4506510pgl.763.2023.04.07.17.12.04; Fri, 07 Apr 2023 17:12:16 -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=@kernel.org header.s=k20201202 header.b=p9adiUtt; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230409AbjDHAKq (ORCPT + 99 others); Fri, 7 Apr 2023 20:10:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230079AbjDHAK0 (ORCPT ); Fri, 7 Apr 2023 20:10:26 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD91412075; Fri, 7 Apr 2023 17:10:24 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8773665567; Sat, 8 Apr 2023 00:10:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C210C4339C; Sat, 8 Apr 2023 00:10:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680912624; bh=4wzSu4ZL5pXMt0STVtv2MfvehTIjHZdMXLjpSpIERTA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p9adiUttP+IEdjEtk1kh4STKzQrhqcFlzpKq5pCfK6+iFq2Lv0p/u5oWdpCaMG2/X k8yI+yuayv9s+Fg18ULnRtNCzqnqGqSR01dF0oKEqGfhTYvvKs6x4H7lnahvi7gWe6 k8zUCqUT0XDMkKQbdt1bArI0n5Z1dA5roEOQlRSIwHD3Rxcseyn7/NOWqShv7v3h7B L9Zn5VB9VhRdnDA+SuEueyhx1RW9mEu0vWUXFf9PaMwH3nRTfQbF9ch1ewRZFHQsrg eW1NjgBCqsoXI1S7Oe7xl/8EDNLZS6AkFiycG65ngyPE5TVyALJVHcMTHf071BU3sE ZHX7XfMAYWqPg== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Miroslav Benes , linux-btrfs@vger.kernel.org, Mark Rutland , linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, Arnd Bergmann , "Guilherme G . Piccoli" , Michael Kelley Subject: [PATCH 11/11] x86/hyperv: Mark hv_ghcb_terminate() as noreturn Date: Fri, 7 Apr 2023 17:10:04 -0700 Message-Id: <8d21cbcef0e08053b36da2bc0a74ff65f5dabd43.1680912057.git.jpoimboe@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-type: text/plain X-Spam-Status: No, score=-5.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762564753507892403?= X-GMAIL-MSGID: =?utf-8?q?1762564753507892403?= From: "Guilherme G. Piccoli" Annotate the function prototype and definition as noreturn to prevent objtool warnings like: vmlinux.o: warning: objtool: hyperv_init+0x55c: unreachable instruction Also, as per Josh's suggestion, add it to the global_noreturns list. As a comparison, an objdump output without the annotation: [...] 1b63: mov $0x1,%esi 1b68: xor %edi,%edi 1b6a: callq ffffffff8102f680 1b6f: jmpq ffffffff82f217ec # unreachable 1b74: cmpq $0xffffffffffffffff,-0x702a24(%rip) [...] Now, after adding the __noreturn to the function prototype: [...] 17df: callq ffffffff8102f6d0 17e4: test %al,%al 17e6: je ffffffff82f21bb9 [...] 1bb9: mov $0x1,%esi 1bbe: xor %edi,%edi 1bc0: callq ffffffff8102f680 1bc5: nopw %cs:0x0(%rax,%rax,1) # end of function Reported-by: Arnd Bergmann Link: https://lore.kernel.org/r/9698eff1-9680-4f0a-94de-590eaa923e94@app.fastmail.com/ Signed-off-by: Guilherme G. Piccoli Reviewed-by: Michael Kelley Link: https://lore.kernel.org/r/20230317160546.1497477-1-gpiccoli@igalia.com Signed-off-by: Josh Poimboeuf --- arch/x86/hyperv/ivm.c | 2 +- arch/x86/include/asm/mshyperv.h | 2 +- tools/objtool/check.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c index 1dbcbd9da74d..4f79dc76042d 100644 --- a/arch/x86/hyperv/ivm.c +++ b/arch/x86/hyperv/ivm.c @@ -127,7 +127,7 @@ static enum es_result hv_ghcb_hv_call(struct ghcb *ghcb, u64 exit_code, return ES_OK; } -void hv_ghcb_terminate(unsigned int set, unsigned int reason) +void __noreturn hv_ghcb_terminate(unsigned int set, unsigned int reason) { u64 val = GHCB_MSR_TERM_REQ; diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index 4c4c0ec3b62e..09c26e658bcc 100644 --- a/arch/x86/include/asm/mshyperv.h +++ b/arch/x86/include/asm/mshyperv.h @@ -212,7 +212,7 @@ int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible); void hv_ghcb_msr_write(u64 msr, u64 value); void hv_ghcb_msr_read(u64 msr, u64 *value); bool hv_ghcb_negotiate_protocol(void); -void hv_ghcb_terminate(unsigned int set, unsigned int reason); +void __noreturn hv_ghcb_terminate(unsigned int set, unsigned int reason); #else static inline void hv_ghcb_msr_write(u64 msr, u64 value) {} static inline void hv_ghcb_msr_read(u64 msr, u64 *value) {} diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 8586d4c36600..e23d12041be0 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -213,6 +213,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, "ex_handler_msr_mce", "fortify_panic", "hlt_play_dead", + "hv_ghcb_terminate", "kthread_complete_and_exit", "kthread_exit", "kunit_try_catch_throw",