Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp701252rdg; Wed, 11 Oct 2023 03:10:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUYoqwhRVSS+xGg6Qx2Mn41ApVinRnWGMOtXrlTUJQNkDmraCPxbBeW+46MH9vt+yN3tIC X-Received: by 2002:a05:6a00:198f:b0:693:4552:cd6d with SMTP id d15-20020a056a00198f00b006934552cd6dmr18773729pfl.1.1697019031640; Wed, 11 Oct 2023 03:10:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697019031; cv=none; d=google.com; s=arc-20160816; b=k1cROUZ+4ixRIeD8tubJ/7buHCaRUCBmCSijYNfSx0WrR+wBM2GtCgUpJVJr23W+Lf dFyHj39MW3p7iZI8i9EgqvGdoazx+601WOgDWqkYVQHKDB1R2+UEnzYzr/xq/EgbSbjj md/yV8c+5irmEtEM22AoeZDSD6myDeDVoYAdgNhBw8HhKN9jkk5Jw2QOA+EmMtgoikXw DkkXl11NGfwbWmR/zBqjgeuUdde1UuRwT9NcwPwiCfwzqVzyAnB5BpYcZnpvusOcglhf Ph0/gYwhGKePpWcHhZEeER6yuQHMDB1wDqstoUWx1QnbpKZ4Dx/r8/pplyLGM9zMtY4Q UPGA== 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; bh=wCCZVDZ5O9059xkdpjO/JsMoGPsm9dk93FNzfnDK87M=; fh=zwYgZI7fViiWMszSXUp9QDpMCZZ/fkBX1HIXF8Q+kVM=; b=TmUrwg2yfSjpQCexdd/LHFgbuNqLxaOKtL+nstwBTwqb66p5lidiMnBSwNPN8LIios Ao0v4Mr9k4+DEjC3ppEsatuGO1n3diZgObZx7zxwsjTDKWTe1yrfk6VAyIPLqYZeO5l0 8OU08DhdoizXeEjFKg9YmhNqyIzv7kC19huVgNK4EkPEe+sOe+vXLpQAM/cEPU8YW+6K r58xpPEsCLpWpdIoJ0T6v68XPCjzIM2jK6OSCJLKjQYr+EtSfGoPXGV1jZWm/WDpw2mD IbYawFjY1zdF9JAnYuRUwMvUPpWZpeBbX2x+xFhFD6DfY1A3JICRfOI4dz3eY8JhK1b+ 0IqA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id be11-20020a056a001f0b00b0068beea8071esi11390032pfb.221.2023.10.11.03.10.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 03:10:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 4E3908020902; Wed, 11 Oct 2023 03:10:14 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346289AbjJKKJX (ORCPT + 99 others); Wed, 11 Oct 2023 06:09:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234758AbjJKKIl (ORCPT ); Wed, 11 Oct 2023 06:08:41 -0400 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9856199A for ; Wed, 11 Oct 2023 03:07:38 -0700 (PDT) Received: from kwepemi500008.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S57g32rGqz1M9BJ; Wed, 11 Oct 2023 18:05:03 +0800 (CST) Received: from huawei.com (10.67.174.55) by kwepemi500008.china.huawei.com (7.221.188.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 18:07:36 +0800 From: Jinjie Ruan To: , , , , , , , , , , , , , , , , , CC: Subject: [PATCH v5.15 02/15] arm64: die(): pass 'err' as long Date: Wed, 11 Oct 2023 10:06:42 +0000 Message-ID: <20231011100655.979626-3-ruanjinjie@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231011100655.979626-1-ruanjinjie@huawei.com> References: <20231011100655.979626-1-ruanjinjie@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.67.174.55] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500008.china.huawei.com (7.221.188.139) X-CFilter-Loop: Reflected X-Spam-Status: No, score=2.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 11 Oct 2023 03:10:15 -0700 (PDT) X-Spam-Level: ** From: Mark Rutland commit 18906ff9af6517c20763ed63dab602a4150794f7 upstream. Recently, we reworked a lot of code to consistentlt pass ESR_ELx as a 64-bit quantity. However, we missed that this can be passed into die() and __die() as the 'err' parameter where it is truncated to a 32-bit int. As notify_die() already takes 'err' as a long, this patch changes die() and __die() to also take 'err' as a long, ensuring that the full value of ESR_ELx is retained. At the same time, die() is updated to consistently log 'err' as a zero-padded 64-bit quantity. Subsequent patches will pass the ESR_ELx value to die() for a number of exceptions. Signed-off-by: Mark Rutland Reviewed-by: Mark Brown Reviewed-by: Anshuman Khandual Cc: Alexandru Elisei Cc: Amit Daniel Kachhap Cc: James Morse Cc: Will Deacon Link: https://lore.kernel.org/r/20220913101732.3925290-3-mark.rutland@arm.com Signed-off-by: Catalin Marinas Signed-off-by: Jinjie Ruan --- arch/arm64/include/asm/system_misc.h | 2 +- arch/arm64/kernel/traps.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/include/asm/system_misc.h b/arch/arm64/include/asm/system_misc.h index 0eb7709422e2..c34344256762 100644 --- a/arch/arm64/include/asm/system_misc.h +++ b/arch/arm64/include/asm/system_misc.h @@ -18,7 +18,7 @@ struct pt_regs; -void die(const char *msg, struct pt_regs *regs, int err); +void die(const char *msg, struct pt_regs *regs, long err); struct siginfo; void arm64_notify_die(const char *str, struct pt_regs *regs, diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 79e105713706..fcf1a306e094 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -181,12 +181,12 @@ static void dump_kernel_instr(const char *lvl, struct pt_regs *regs) #define S_SMP " SMP" -static int __die(const char *str, int err, struct pt_regs *regs) +static int __die(const char *str, long err, struct pt_regs *regs) { static int die_counter; int ret; - pr_emerg("Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n", + pr_emerg("Internal error: %s: %016lx [#%d]" S_PREEMPT S_SMP "\n", str, err, ++die_counter); /* trap and error numbers are mostly meaningless on ARM */ @@ -207,7 +207,7 @@ static DEFINE_RAW_SPINLOCK(die_lock); /* * This function is protected against re-entrancy. */ -void die(const char *str, struct pt_regs *regs, int err) +void die(const char *str, struct pt_regs *regs, long err) { int ret; unsigned long flags; -- 2.34.1