From nobody Sun Feb 8 02:56:00 2026 Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94A74266581 for ; Mon, 3 Nov 2025 06:38:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151886; cv=none; b=UCHxG7EWoGpFC7ICt3p2kifVMk6tDttW5MPseeTzPUHIDPT2lqiaC/P9UvyPgC1l/qJyzV44bdlpcNRgKu/0zkN8qebngDHNCrACTCyeVoa4WviscHNm+4GlHog/IJW1oyMSG6t4C5Zlba4UXOK14GtFGFS2bdEIWxJDdjdBx1k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151886; c=relaxed/simple; bh=4aglrJL59adAqF1Wlfr3wfM0tQSoHETQpMw62HmaduY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MezspaBmIR8F+gkELAbBCYJH2VBZfHYulHCPTd1+us07n8SkTVwJiCwH8yr4GRLs47zl5DnqtJ3O8xC7aFVSr09QVQbRfYXWekXHy3vU6D4OIP9kY2rceAd1heWcoMFR5dgHfFpbr3yYFGQIpOx6ZfeM6lw15bSaDKqtO1SDYUs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com; spf=pass smtp.mailfrom=uniontech.com; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b=Jhn+ka9K; arc=none smtp.client-ip=54.206.16.166 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=uniontech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b="Jhn+ka9K" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uniontech.com; s=onoh2408; t=1762151837; bh=WufCdDOpzfL/WfQ3htR6pHmHReVaZ+8ySuuRY7Lmf9g=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=Jhn+ka9KF2GqVfy8UT6BZeggDNwBTvacwDomz0ES6MU/OWsEGhAnKLqQsfaS9yoay kUWVruh1xRyLXEEvR12LDo7trq7o76UNZlL0/Q7ZjynOVqGfWwOi0auNdumANxGWqX mwxNJtvzNNBpZMnPAjWUcINIvBly/6XNiB15gegA= X-QQ-mid: zesmtpgz4t1762151833ta166cf88 X-QQ-Originating-IP: TtKN50SrsQQtnRe964P7y1PWjWRY3Au23BninVfQwPk= Received: from localhost.localdomain ( [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 03 Nov 2025 14:36:23 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 1 X-BIZMAIL-ID: 4954036096720726581 EX-QQ-RecipientCnt: 5 From: Qiang Ma To: akpm@linux-foundation.org, bhe@redhat.com Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Qiang Ma Subject: [PATCH v2 1/4] kexec: Fix uninitialized struct kimage *image pointer Date: Mon, 3 Nov 2025 14:34:37 +0800 Message-Id: <20251103063440.1681657-2-maqianga@uniontech.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20251103063440.1681657-1-maqianga@uniontech.com> References: <20251103063440.1681657-1-maqianga@uniontech.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:uniontech.com:qybglogicsvrgz:qybglogicsvrgz3a-1 X-QQ-XMAILINFO: NK5CQ9Y7aNjz+Za4Lz7LPEgSZ3KILfmMXVUdkwjsODIA2MwnTS0Z+GoN bQsCLLSbhnJJ4VCdqPX0NQZl6Yq42/yVpq7eVo73GJVaXCxoQEXEj1PdnORZl9ZdHMQQ/Cf 3UA6Pj7CAHdTAPnv5XajZLFuiGMB2wAmoH+w0scrTHahAPJ00E/57AOAYnU1HQStYK4K0cu xQBg9jk2MFqV8TU1E6kZ309JvyCWEJetG5eXnEG0nzgmfQSgr0TjHreDvXTD51Ug5dFMEY2 J3VO1fv8p2Yf+KdZ3NTbVSipTB1H1TDbNbv1nJergx1FMbLXpwIQUnQ3yASgzoCvl7Pox8p RW/KvT6vOAHlwp2dGBvAv7pMVsrCGcrrqq2dRAZLQQq4fdYFrEXrzfkWbfWFv6vUx6rmspf 3CT6Pd61kpyzPofFznIq4IAB9Kuzaapf1aEkzpmcweq/LpXtmmvQcC4D/S61rmxPtEyCVog EHPzJAMI3vnjWahekv11tpeUfga0xnH0H0+dqHS8ZTcBlcu+CDnfM1VwXA45CYCknt7OtcZ YwozrhPAC9lLcOvByedso3BQwBGeDmKVXoxIYrMK1/ERnl8rP+CBRA2Rrt+z4x2EqygnGaj lLytxyjfTwafgGBoOkkY9Pp18kH1eScPITvi4uo+S0GPXnvEF4xF+AUaRV4mcJmrcB3tUAr /plWWgz9XMaQf2aJN9KIRpUY/6bATKJ7ng1gDDU8lNIhCWETCSUG9+teJ7sBvslt6CudyUP Y+e1TIBOslzpNk5YFNKRVsV0yYp2cpLzrecOgWWKLhBFxYLV8DC8TSF7DN/+4qe/m+LCAWi Hy5BLWxQv3acD1JOTpKZn2LTnVgcx2yuZqtIZoZJKxRYEHObsPk36KVqP5fsjtXoLS+HBpY O40pKIKJRmgEGLo8NCbcXKBoaQmfrN6n8OwWczYWgYpR9iLYGFhAiRlYg2T1yuNZnc7bhEY JFwpHaAwx8xiEcJJa2nUPm8pXX+swVh28AEMUivIFeWaOLNxZGBBaoYp73sg9iDJTw5BwOH BbQ2sLPqfMUDk3FDRm3GXP1/4WeaAEFcj2R7ac8w== X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" The image is initialized to NULL. Then, after calling kimage_alloc_init, we can directly goto 'out' because at this time, the kimage_free will determine whether image is a NULL pointer. This can also prepare for the subsequent patch's kexec_core_dbg_print to be reset to zero in kimage_free. Signed-off-by: Qiang Ma --- kernel/kexec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/kexec.c b/kernel/kexec.c index 28008e3d462e..9bb1f2b6b268 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -95,6 +95,8 @@ static int do_kexec_load(unsigned long entry, unsigned lo= ng nr_segments, unsigned long i; int ret; =20 + image =3D NULL; + /* * Because we write directly to the reserved memory region when loading * crash kernels we need a serialization here to prevent multiple crash @@ -129,7 +131,7 @@ static int do_kexec_load(unsigned long entry, unsigned = long nr_segments, =20 ret =3D kimage_alloc_init(&image, entry, nr_segments, segments, flags); if (ret) - goto out_unlock; + goto out; =20 if (flags & KEXEC_PRESERVE_CONTEXT) image->preserve_context =3D 1; --=20 2.20.1 From nobody Sun Feb 8 02:56:00 2026 Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E46CA2309B2 for ; Mon, 3 Nov 2025 06:38:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.128 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151903; cv=none; b=gc843GB1uLADxm7ZUXU667dbMt1vbOhGwTMp/W3NHMUowwXmJZeixNyxKtSBgSJKkdv/LKdvuTQhY2yCyNpjAsnLP+P7VQBxza/yXHs0pdg9whU1qpNK0lR7rzQro4VcldcKeX5X6keZw9hWgWBgpgp1oJC1qjCCD89lKGk0K9I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151903; c=relaxed/simple; bh=3GklO0QDDgTdK2chMO5iB95qoX8BAqga/LprqmirvR0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dqS8yfQDKQHqY3c/7UGIlmltqljZuyKMeMgy47GAht098qEml3Mm+H/AR/ETfQEad7CtvCKMH24C/RRlqiGjZknDIY8p5lvonKAoZ+S9PElSaFHpGccivsJh8o9PbBui0f047xO4tE9liSVLp6Gw74P/f7BVX4ahQ0U36rU7quM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com; spf=pass smtp.mailfrom=uniontech.com; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b=g4XitNNG; arc=none smtp.client-ip=54.254.200.128 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=uniontech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b="g4XitNNG" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uniontech.com; s=onoh2408; t=1762151850; bh=DY2dArnD0Cu8BVCBvrBWS9vSV2bQ+jdhOZR1uo+ET+s=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=g4XitNNG7eTfvT5OBEHSY3gbkXQcFo0F1+99RQk2GUyl9rjOy06QfTAbM5rqfLCrN /Ia5/qCmiJg+gynho00ySlrcD2P7NW7SlANPbA+NfjForBe7aPINgH5GK7Vi1P5Odk bXjwVuqZCkVXx67bsSgyHj05L5cBJYtGrwuASbME= X-QQ-mid: zesmtpgz4t1762151844t542df229 X-QQ-Originating-IP: 4YP6YfPHkqcY8K0enlj2wzW1FmKlfN/L4RJwp0UKItk= Received: from localhost.localdomain ( [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 03 Nov 2025 14:37:15 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 1 X-BIZMAIL-ID: 4381373873010361249 EX-QQ-RecipientCnt: 5 From: Qiang Ma To: akpm@linux-foundation.org, bhe@redhat.com Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Qiang Ma Subject: [PATCH v2 2/4] kexec: add kexec_core flag to control debug printing Date: Mon, 3 Nov 2025 14:34:38 +0800 Message-Id: <20251103063440.1681657-3-maqianga@uniontech.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20251103063440.1681657-1-maqianga@uniontech.com> References: <20251103063440.1681657-1-maqianga@uniontech.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:uniontech.com:qybglogicsvrgz:qybglogicsvrgz3a-1 X-QQ-XMAILINFO: M3uTjkO5QXGx/WPEvJQh4AmYvMNatvxgUBSg3Kd1IyO4dsKMCNZB5XeY kvbo53GvUqtSDrgUNHD6xb35yuTt9lCcqqU0LD4RUA8KAyPSQ42g/johpAKPvsmsPilj4qL XM1uGaAFvPfaKcy5ZIzrXt4tP68aPz5GHXKteVWyF5iUi6QSr0Sy6JSzohtCDn3CcTER/jf sGkb27I2dNGYTzCb+szsMP4Obvssej5H915z+tW4C86qpnUDXtGfoRmdEOqU6rwP3I5cnW8 VdyMnuMtwhC9NCCklqAVyE/kBQBFRdougdxGlwljeAdX84BiKXM7sK7IFlUlFTMxge/yve9 FypnDdAryYrie3NYl2musEXXaWJqPP9pmZT5LBS70vmVW5UNytjQxBuKNDwYK1tcZoT9+9t MYh7/NeTF5ompY2DgzHo6iNixSDBgZPMtBsUZWrTXJXyCj0lWYCN05pIi1TfD4k3Rl98+Fi kYekS/nFRsbssnLcXOARlfky6NkfH24mZbz6EiYhEYD5jPtwawuVZoKfYtXwpdhbgBDneOJ eTlkRTm2ehzifJSYyDtSzAYrF3xoLYX0fu41O1shBB6FklEb8gel5HtPjp5pkMNU9ypPAq/ qW9hzGPBg6hPwwhB/hAghOW8blhshsdXAZcGPW3eSiHW4+yFMz0KVyIb65R7zvpuZCKqOH1 9QsOp7Xx/7cyv2byUFiYf0yMQvE6iZwy3HolOxDLqCJ1goWTcALauRoZXh3HLOqSyqpWTZf +bOucHoalv7TWup99nYcMdTnhbbcOsF1OqdvKZLHHA3C5A+GMG1hX72AelWyCrSg5BLXYtz FOe6dDP0M68lXU6NrmVkEijLl66HKL9tyjUxbflAwZxBkIVjJc/E6P8ZHYOM5JI0wfmNtfd QWACT1095REFslkleHe76e2UHwqQB5midnbjWcNLfeBm/YM0uiPWdnENuvFFnyhv/uWoixO MtwqODK8Gz3Gq8kHPAp1ICAlNhb4TYJ0t0n+19PRno/cF1EDWzYt5Dhf7QV2CEAYZeUf4rk KdvxNz6ZdxVPVFVa5L2jutlpTnPZmsZH3htckmM9/ciYcrgTvC X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" The commit a85ee18c7900 ("kexec_file: print out debugging message if required") has added general code printing in kexec_file_load(), but not in kexec_load(). Since kexec_load and kexec_file_load are not triggered simultaneously, we can unify the debug flag of kexec and kexec_file as kexec_core_dbg_print. Next, we need to do four things: 1. rename kexec_file_dbg_print to kexec_core_dbg_print 2. Add KEXEC_DEBUG 3. Initialize kexec_core_dbg_print for kexec 4. Set the reset of kexec_file_dbg_print to kimage_free Signed-off-by: Qiang Ma --- include/linux/kexec.h | 9 +++++---- include/uapi/linux/kexec.h | 1 + kernel/kexec.c | 1 + kernel/kexec_core.c | 4 +++- kernel/kexec_file.c | 4 +--- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/linux/kexec.h b/include/linux/kexec.h index ff7e231b0485..cad8b5c362af 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -455,10 +455,11 @@ bool kexec_load_permitted(int kexec_image_type); =20 /* List of defined/legal kexec flags */ #ifndef CONFIG_KEXEC_JUMP -#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_UPDATE_ELFCOREHDR | KEXEC_C= RASH_HOTPLUG_SUPPORT) +#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_UPDATE_ELFCOREHDR | KEXEC_C= RASH_HOTPLUG_SUPPORT | \ + KEXEC_DEBUG) #else #define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_UP= DATE_ELFCOREHDR | \ - KEXEC_CRASH_HOTPLUG_SUPPORT) + KEXEC_CRASH_HOTPLUG_SUPPORT | KEXEC_DEBUG) #endif =20 /* List of defined/legal kexec file flags */ @@ -525,10 +526,10 @@ static inline int arch_kexec_post_alloc_pages(void *v= addr, unsigned int pages, g static inline void arch_kexec_pre_free_pages(void *vaddr, unsigned int pag= es) { } #endif =20 -extern bool kexec_file_dbg_print; +extern bool kexec_core_dbg_print; =20 #define kexec_dprintk(fmt, arg...) \ - do { if (kexec_file_dbg_print) pr_info(fmt, ##arg); } while (0) + do { if (kexec_core_dbg_print) pr_info(fmt, ##arg); } while (0) =20 extern void *kimage_map_segment(struct kimage *image, unsigned long addr, = unsigned long size); extern void kimage_unmap_segment(void *buffer); diff --git a/include/uapi/linux/kexec.h b/include/uapi/linux/kexec.h index 55749cb0b81d..819c600af125 100644 --- a/include/uapi/linux/kexec.h +++ b/include/uapi/linux/kexec.h @@ -14,6 +14,7 @@ #define KEXEC_PRESERVE_CONTEXT 0x00000002 #define KEXEC_UPDATE_ELFCOREHDR 0x00000004 #define KEXEC_CRASH_HOTPLUG_SUPPORT 0x00000008 +#define KEXEC_DEBUG 0x00000010 #define KEXEC_ARCH_MASK 0xffff0000 =20 /* diff --git a/kernel/kexec.c b/kernel/kexec.c index 9bb1f2b6b268..c7a869d32f87 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -42,6 +42,7 @@ static int kimage_alloc_init(struct kimage **rimage, unsi= gned long entry, if (!image) return -ENOMEM; =20 + kexec_core_dbg_print =3D !!(flags & KEXEC_DEBUG); image->start =3D entry; image->nr_segments =3D nr_segments; memcpy(image->segment, segments, nr_segments * sizeof(*segments)); diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index fa00b239c5d9..865f2b14f23b 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -53,7 +53,7 @@ atomic_t __kexec_lock =3D ATOMIC_INIT(0); /* Flag to indicate we are going to kexec a new kernel */ bool kexec_in_progress =3D false; =20 -bool kexec_file_dbg_print; +bool kexec_core_dbg_print; =20 /* * When kexec transitions to the new kernel there is a one-to-one @@ -576,6 +576,8 @@ void kimage_free(struct kimage *image) kimage_entry_t *ptr, entry; kimage_entry_t ind =3D 0; =20 + kexec_core_dbg_print =3D false; + if (!image) return; =20 diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index eb62a9794242..4a24aadbad02 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -138,8 +138,6 @@ void kimage_file_post_load_cleanup(struct kimage *image) */ kfree(image->image_loader_data); image->image_loader_data =3D NULL; - - kexec_file_dbg_print =3D false; } =20 #ifdef CONFIG_KEXEC_SIG @@ -314,7 +312,7 @@ kimage_file_alloc_init(struct kimage **rimage, int kern= el_fd, if (!image) return -ENOMEM; =20 - kexec_file_dbg_print =3D !!(flags & KEXEC_FILE_DEBUG); + kexec_core_dbg_print =3D !!(flags & KEXEC_FILE_DEBUG); image->file_mode =3D 1; =20 #ifdef CONFIG_CRASH_DUMP --=20 2.20.1 From nobody Sun Feb 8 02:56:00 2026 Received: from smtpbg154.qq.com (smtpbg154.qq.com [15.184.224.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 03434299AB3 for ; Mon, 3 Nov 2025 06:38:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=15.184.224.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151924; cv=none; b=SEljsl4B0MDqI9d3hlb0JSszg21DjmPqegYe9ZYm8bbRLVAogM6pdfufbMxKZzB7dk1TM6qnFWUh9j6gLCJzht4hsPNpQacXdCr1e8tgNHTtkYXeDDQKARDx8F58Flc9aGL8P5UTZXv7Mgj0tO8cKiMOCTYi0KWMY2IIhZneKrk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151924; c=relaxed/simple; bh=6iV21gme15Qohb4EzuDv64c04VQLHXDeRnJRjRtofgk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rP57c8IvLaR7DQcbIHL1FX8bgEDxQ4XDO7EX8Y2OZWGwF3QNixZbkVx1b73OdD88SA7SirCG2NOlJw3WLoyvH+KSN6xTxqcW24uy+8wPjt9Nq3sFxXlxd7l36Vz4MS++iASBZgeuAs+dE+5/WPdNTottAV2DKy3swLXq7gTfBas= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com; spf=pass smtp.mailfrom=uniontech.com; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b=LWRDz6b1; arc=none smtp.client-ip=15.184.224.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=uniontech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b="LWRDz6b1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uniontech.com; s=onoh2408; t=1762151867; bh=eIvvjEbQ1sG5r7Z8cl/qUt9KXwEgp0m6a/j87zSOL9s=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=LWRDz6b1jz+nU4M4m8Ko8LAttQO7uYKVOE3HYUKcnqSP9M2FX8289qZu+DkAfw9j6 RkrPYSQ8M9GxUeG7NlvC3hGNjhvxFX68NEQ+VA2JX6JntiEWigkj3Lj5N14JgpETC/ FYMMW83sP46ytNzmCxWXjy0EOUC1MFBLzTevYwKg= X-QQ-mid: zesmtpgz4t1762151852t66baf00e X-QQ-Originating-IP: HP92wee9TdxOT6l0k09HV0bbxacm4gZA3xqBTdJ58Mo= Received: from localhost.localdomain ( [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 03 Nov 2025 14:37:27 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 1 X-BIZMAIL-ID: 565133868988275124 EX-QQ-RecipientCnt: 6 From: Qiang Ma To: akpm@linux-foundation.org, bhe@redhat.com Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Qiang Ma , kernel test robot Subject: [PATCH v2 3/4] kexec: print out debugging message if required for kexec_load Date: Mon, 3 Nov 2025 14:34:39 +0800 Message-Id: <20251103063440.1681657-4-maqianga@uniontech.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20251103063440.1681657-1-maqianga@uniontech.com> References: <20251103063440.1681657-1-maqianga@uniontech.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:uniontech.com:qybglogicsvrgz:qybglogicsvrgz3a-1 X-QQ-XMAILINFO: MZyrYvuwV95ZwJQF6kolioZMMFDFt9KRZz+4V9otQXiSIxe0w6YsrgSb aG0Rs7qmazMPy8AjvrnWzkIA/L3BaK6szUTN1OzeuliEoLOEz88R+xorH9zuc+T37WoaaFT hjWK4IL1IpLZgwdcvNF1YgjpcljUsBLxUa5yVz5Z+GWDKo896kFmP2NdKCEnh+2x6ZKRf2W k+TOApqRhxj3kRJAZsXqfrHO7OuTxW6IJVc09VFQWJoDR62jwp/XQJhATN4xNzlc3sNpFLd Gu6TO4Y5RMHRJmWpwkiO4p/nY1B9kM4SeYvUjDbxFAlNIPNnq7evdgJDpTg14zjd4Jvk+zg dLrERuYNXTvG/gXIws8BGOj+U3YGDR5sfdzOT+z5WbW4IBhlGhuN/ht+ihsVEJpHEUPYXB8 JvUuYG4ohzRMbyrtRBOpc3FoxI4jgvUN8rQt+dM5SoupYLytXzzA6hnbNK58TdtFccoZSLT Kiq+b9rdlGq1eqmPXgC9FcEDYPLRgMQRX0YSvtNoCJEnsvogwNIYUiLTSZzx42tIZTR0if2 wZvqycxnQfGdEEF236UcumOSHyHdnWa4x5dYX+u9vt0CkgiFeBTOQ8s0DJ/DtHbJhpT1gf/ qFfo6MXTIvF8k4KOir8hmNf+z/oEse5i9AU7zn3ul8nc2qJ6m7y9De9FW4oFoL6b7u9pv5c yYNa/WHnvdATH9o5LD/Uf2KI4T8RXRQgeMsckGGKb2G9B/FsYEp5nGNXB/nCRzn5vqmew1P jAL9Z/H+/iSleqBUT9wsvlBiCpN7wmWgw2mWhaRes0ENVy7zp4vwgpE3zNw+xXnNVA6UWvl IVW2y9zseA6TO0x6anCd7CfLing4eaRuqqJPdB6u0dxRs3GhetW6N5lHilI2iZ+ghabLaQX L99bEa6iMA9pPFVEnUPDLDdWevtCgWkoV0SThohmQ+P18wpnFkPtDDatlxrs0Gw+O4tblGc l1/PmvcCpD9SRk8Hpht1Xf4b6mHbnzfP9GfKsZ4iskZZx/D05oNMROCT4hSyPig46geiekd 3miP/UFs1eY6J/QdkHOox/UmP3rXZGk51w28hlTmLY7U2uesNJFwlGG42BB90uOgHtBbns5 PEylMGxp52jYWNNsQi9JJ3+/PtB1fSg8N7y4CQTDHuHs+y8M6IaaJc= X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" The commit a85ee18c7900 ("kexec_file: print out debugging message if required") has added general code printing in kexec_file_load(), but not in kexec_load(). Especially in the RISC-V architecture, kexec_image_info() has been removed(commit eb7622d908a0 ("kexec_file, riscv: print out debugging message if required")). As a result, when using '-d' for the kexec_load interface, print nothing in the kernel space. This might be helpful for verifying the accuracy of the data passed to the kernel. Therefore, refer to this commit a85ee18c7900 ("kexec_file: print out debugging message if required"), debug print information has been added. Signed-off-by: Qiang Ma Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202510310332.6XrLe70K-lkp@int= el.com/ --- kernel/kexec.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kernel/kexec.c b/kernel/kexec.c index c7a869d32f87..9b433b972cc1 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -154,7 +154,15 @@ static int do_kexec_load(unsigned long entry, unsigned= long nr_segments, if (ret) goto out; =20 + kexec_dprintk("nr_segments =3D %lu\n", nr_segments); for (i =3D 0; i < nr_segments; i++) { + struct kexec_segment *ksegment; + + ksegment =3D &image->segment[i]; + kexec_dprintk("segment[%lu]: buf=3D0x%p bufsz=3D0x%zx mem=3D0x%lx memsz= =3D0x%zx\n", + i, ksegment->buf, ksegment->bufsz, ksegment->mem, + ksegment->memsz); + ret =3D kimage_load_segment(image, i); if (ret) goto out; @@ -166,6 +174,9 @@ static int do_kexec_load(unsigned long entry, unsigned = long nr_segments, if (ret) goto out; =20 + kexec_dprintk("kexec_load: type:%u, start:0x%lx head:0x%lx flags:0x%lx\n", + image->type, image->start, image->head, flags); + /* Install the new kernel and uninstall the old */ image =3D xchg(dest_image, image); =20 --=20 2.20.1 From nobody Sun Feb 8 02:56:00 2026 Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80A3E2309B2 for ; Mon, 3 Nov 2025 06:38:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.243.244.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151917; cv=none; b=LfMNmdhFsVymYiHOEQNwIcnhIEHFqO3bN8QtAwooCf9c8bB5z0E5C8BhJZe7gWut57uTHqcGtAaUeNERDr6jTh+34gYyd2phh9Mfg1tObA140vKCRnOMh1/H4T86gcPeuNThL509pLSZrGcEyL7oppj80NABTYvVOxEzqXP8xqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762151917; c=relaxed/simple; bh=zqhMDdQxfNUUFJxdkwAqmdIiGvK7f0u85p1ipRNchH8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=J82CrJp3MjG5LZWD3ULHBDnCIqoH0AM4l6j4b/ba8e71nyLPbdmXEYWSASb0Z+0d/rR+I53qCkRZ8SNBFSGaIXJStSSgSDqfvjojFnzberiQmf0GBLJJBbEdhAM25oThArrqFtweArz3Rhh0F43g/GF8yG+zOGShCR5PAORGWWo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com; spf=pass smtp.mailfrom=uniontech.com; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b=gavmX8c3; arc=none smtp.client-ip=54.243.244.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=uniontech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=uniontech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=uniontech.com header.i=@uniontech.com header.b="gavmX8c3" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uniontech.com; s=onoh2408; t=1762151863; bh=bCRxv5EtM0tvDW4JhQ+LpOOVgm4zkB9w1mcNoEZGj5U=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=gavmX8c3736K0IC+EbaGnB1ajjL7znUfFRFS5p8qM5br3WRxMtW7KsBeO3FOS/xVN iLdHB8xO78wHrLSbbhgDjVM875M56YGPETeiEpq6wNOxdGvA23sWc1hUmwG+p3bf9t eB/sbNrkv39AOHixrJq9RbGJL9UolSetxZhMaNI8= X-QQ-mid: zesmtpgz4t1762151859td14c1dbe X-QQ-Originating-IP: RhqAIz/08Wyxiq6Fw68hfnrDcEIHZXXUupI08eRw7Mc= Received: from localhost.localdomain ( [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 03 Nov 2025 14:37:34 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 1 X-BIZMAIL-ID: 10891316942982493356 EX-QQ-RecipientCnt: 5 From: Qiang Ma To: akpm@linux-foundation.org, bhe@redhat.com Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Qiang Ma Subject: [PATCH v2 4/4] kexec_file: Fix the issue of mismatch between loop variable types Date: Mon, 3 Nov 2025 14:34:40 +0800 Message-Id: <20251103063440.1681657-5-maqianga@uniontech.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20251103063440.1681657-1-maqianga@uniontech.com> References: <20251103063440.1681657-1-maqianga@uniontech.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:uniontech.com:qybglogicsvrgz:qybglogicsvrgz3a-1 X-QQ-XMAILINFO: M/NR0wiIuy70E515xT9T6A/bvLkicHDLC/2+af/Gk9QQa4J1wPG/EEQG xr1Sodyf5gFjBymm74UzOogkv8TIv521xHSGvART/m2LW3MjQ2dgkckBIDlzu3k3MWjAz54 0j+MA8Io/1vfL0aPnCpMz6VO2MOQsx8g5mHMIFXTZFLOBxuo8K3TRpnfyIMzMOwKJmKvpom yYTyG9jLz+vm0hLYVehK0RjwAaHjtazAgrCUnHn7TNwuGkhRElpib1kWTyOvTEk2iTX0Cmz xiAGT97IoBmfVkuH9iiSzYF4NIYHZRPFQJscUhWLMJ8NNX/Pgndav7LVR+Agq9nMbPDzt9X N0QNxOv3tabvvxvVReHMvtzrFw/C7Fs7hDGpk7ZYqh8i27rwGWm/ZqflLHYbiuYgJZWpzqK dR3oStu7T2xMyBr4sEnu8ZcxGNBc4GF6qiC+5KAMmItZAIqVrdziwyRYQpcOYkywt9YKmw5 gr7Y17qnNLh1cH+LW7hSs4OnLcrbfasEjggLgBUH+4SvV+GVaZx8YzO5sX1UZ13WZiDtbLW 341cI878p85PyrMdl2G2NJ3OtfUYvCTBbld/XNXL3e+ewjAhzEORwSspYOH61dUIpYK9W6g UWgbnlTeSi1aRd2wSO9L589KWcmUFTzFFRP+x/3Oj2ql5UbDGnmE/yub/YWFpaBMizdnum6 E3B8R9pRkMWb4FpIfvZ2UHq0iw8goD1lgCpr/lXng9G5jYchihmaIqL4XWbC1bmBwfr0siu f6n5/IrXDn+oV2O5IDdi6SFC9cyF38h2Xn2O0CxL0MaWIIDVd8vvdWVGbGqrlptUHmaFjxm g6MpEhBk6rHC0TEGKnGFb90FPXMoWEalPRR1z/P2QM2TaussWgm4ZvDA1D64vBMQNvep7jR rXKYqHAEfs5teIvlBBvwrD1maTbdyZQ5FxXlMKPP9rKlBZ4gWISMf8l+2bcuxyVrqhJVHlP nh3k6kHAov36ayRFIFWzMVi05YrFLgpoFU3Ld3mCFUhJjU12gGnJ4pmffKCLqrigldJthcu YOJ4vDsAJEXBMD6PlpvrDK6vQE6lkKC0j8OAZxINVmKddtwToO X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" The type of the struct kimage member variable nr_segments is unsigned long. Correct the loop variable i and the print format specifier type. Signed-off-by: Qiang Ma --- kernel/kexec_file.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 4a24aadbad02..7afdaa0efc50 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -366,7 +366,8 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, i= nitrd_fd, int image_type =3D (flags & KEXEC_FILE_ON_CRASH) ? KEXEC_TYPE_CRASH : KEXEC_TYPE_DEFAULT; struct kimage **dest_image, *image; - int ret =3D 0, i; + int ret =3D 0; + unsigned long i; =20 /* We only trust the superuser with rebooting the system. */ if (!kexec_load_permitted(image_type)) @@ -432,7 +433,7 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, i= nitrd_fd, struct kexec_segment *ksegment; =20 ksegment =3D &image->segment[i]; - kexec_dprintk("segment[%d]: buf=3D0x%p bufsz=3D0x%zx mem=3D0x%lx memsz= =3D0x%zx\n", + kexec_dprintk("segment[%lu]: buf=3D0x%p bufsz=3D0x%zx mem=3D0x%lx memsz= =3D0x%zx\n", i, ksegment->buf, ksegment->bufsz, ksegment->mem, ksegment->memsz); =20 --=20 2.20.1