[PATCH v2][makedumpfile 04/14] dwarf_info: Fix a infinite recursion bug for rust symbols

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Tue Oct 21 23:38:01 PDT 2025


On 2025/10/21 7:24, Tao Liu wrote:
> There is an infinite recursion bug noticed in rust symbols. The root cause is
> unclear to me. This patch will avoid the bug by skip the rust
> CompileUnits, since currently we don't need to deal with rust symbols.
> 
> Signed-off-by: Tao Liu <ltao at redhat.com>
> Suggested-by: Kazuhito Hagio <k-hagio-ab at nec.com>

For applying this 04/14 patch separately before the 1.7.8 release, with
adding the following note to the man page:

--- a/makedumpfile.8.in
+++ b/makedumpfile.8.in
@@ -80,6 +80,7 @@ nested loops to traverse and erase kernel data. --eppic requires
  can be built from makedumpfile source. Refer to
  \fBhttp://code.google.com/p/eppic/\fR to build eppic library \fBlibeppic.a\fR
  and for more information on writing eppic macros.
+NOTE: currently Rust is not supported in this function.
  .PP
  To analyze the first kernel's memory usage, makedumpfile can refer to
  \fIVMCOREINFO\fR instead of \fIVMLINUX\fR. \fIVMCOREINFO\fR contains the first


Acked-by: Kazuhito Hagio <k-hagio-ab at nec.com>

Thanks,
Kazu

> ---
>   dwarf_info.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/dwarf_info.c b/dwarf_info.c
> index a3a2fd6..14cf7ca 100644
> --- a/dwarf_info.c
> +++ b/dwarf_info.c
> @@ -1007,6 +1007,13 @@ get_debug_info(void)
>   			ERRMSG("Can't get CU die.\n");
>   			goto out;
>   		}
> +
> +		/* NOTE: currently Rust is not supported. */
> +		if (dwarf_srclang(&cu_die) == DW_LANG_Rust) {
> +			off = next_off;
> +			continue;
> +		}
> +
>   		search_die_tree(&cu_die, &found);
>   		if (found)
>   			break;


More information about the kexec mailing list