[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57bbade3-0707-4045-b39b-2053434b0b7c@linux.dev>
Date: Sat, 1 Nov 2025 12:45:59 -0700
From: Zhu Yanjun <yanjun.zhu@...ux.dev>
To: Pasha Tatashin <pasha.tatashin@...een.com>, akpm@...ux-foundation.org,
brauner@...nel.org, corbet@....net, graf@...zon.com, jgg@...pe.ca,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-mm@...ck.org, masahiroy@...nel.org, ojeda@...nel.org,
pratyush@...nel.org, rdunlap@...radead.org, rppt@...nel.org, tj@...nel.org
Subject: Re: [PATCH v9 9/9] liveupdate: kho: Use %pe format specifier for
error pointer printing
在 2025/11/1 7:23, Pasha Tatashin 写道:
> From: Zhu Yanjun <yanjun.zhu@...ux.dev>
>
> Make pr_xxx() call to use the %pe format specifier instead of %d.
> The %pe specifier prints a symbolic error string (e.g., -ENOMEM,
> -EINVAL) when given an error pointer created with ERR_PTR(err).
>
> This change enhances the clarity and diagnostic value of the error
> message by showing a descriptive error name rather than a numeric
> error code.
>
> Note, that some err are still printed by value, as those errors
> might come from libfdt and not regular errnos.
>
> Signed-off-by: Zhu Yanjun <yanjun.zhu@...ux.dev>
> Co-developed-by: Pasha Tatashin <pasha.tatashin@...een.com>
> Signed-off-by: Pasha Tatashin <pasha.tatashin@...een.com>
Appreciate your help, Pasha
Yanjun.Zhu
> Reviewed-by: Simon Horman <horms@...nel.org>
> ---
> kernel/liveupdate/kexec_handover.c | 4 ++--
> kernel/liveupdate/kexec_handover_debugfs.c | 10 ++++++----
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
> index be945c133a2f..167c761988d3 100644
> --- a/kernel/liveupdate/kexec_handover.c
> +++ b/kernel/liveupdate/kexec_handover.c
> @@ -1448,8 +1448,8 @@ void __init kho_populate(phys_addr_t fdt_phys, u64 fdt_len,
> memblock_add(area->addr, size);
> err = memblock_mark_kho_scratch(area->addr, size);
> if (WARN_ON(err)) {
> - pr_warn("failed to mark the scratch region 0x%pa+0x%pa: %d",
> - &area->addr, &size, err);
> + pr_warn("failed to mark the scratch region 0x%pa+0x%pa: %pe",
> + &area->addr, &size, ERR_PTR(err));
> goto out;
> }
> pr_debug("Marked 0x%pa+0x%pa as scratch", &area->addr, &size);
> diff --git a/kernel/liveupdate/kexec_handover_debugfs.c b/kernel/liveupdate/kexec_handover_debugfs.c
> index 46e9e6c0791f..ac739d25094d 100644
> --- a/kernel/liveupdate/kexec_handover_debugfs.c
> +++ b/kernel/liveupdate/kexec_handover_debugfs.c
> @@ -150,8 +150,8 @@ __init void kho_in_debugfs_init(struct kho_debugfs *dbg, const void *fdt)
> err = __kho_debugfs_fdt_add(&dbg->fdt_list, sub_fdt_dir, name,
> phys_to_virt(*fdt_phys));
> if (err) {
> - pr_warn("failed to add fdt %s to debugfs: %d\n", name,
> - err);
> + pr_warn("failed to add fdt %s to debugfs: %pe\n", name,
> + ERR_PTR(err));
> continue;
> }
> }
> @@ -168,8 +168,10 @@ __init void kho_in_debugfs_init(struct kho_debugfs *dbg, const void *fdt)
> * reviving state from KHO and setting up KHO for the next
> * kexec.
> */
> - if (err)
> - pr_err("failed exposing handover FDT in debugfs: %d\n", err);
> + if (err) {
> + pr_err("failed exposing handover FDT in debugfs: %pe\n",
> + ERR_PTR(err));
> + }
> }
>
> __init int kho_out_debugfs_init(struct kho_debugfs *dbg)
--
Best Regards,
Yanjun.Zhu
Powered by blists - more mailing lists