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

Tao Liu ltao at redhat.com
Fri Oct 24 01:14:21 PDT 2025


Hi YAMAZAKI & Kazu,

Thanks for Kazu's suggestion on the v1, and thank you for reviewing
and ack the patch!

Thanks,
Tao Liu

On Fri, Oct 24, 2025 at 8:20 PM YAMAZAKI MASAMITSU(山崎 真光)
<yamazaki-msmt at nec.com> wrote:
>
> Liu
>
> Thanks your new patch.
> I think the patche is better than before. So I ack this patch.
>
> As you pointed out, if exists Rust modules then processing for
> dwarf occur infinite loop. This will add the function to the
> stack and cause an error. I also have resarch this bug, but
> cannot find the root cause.
>
> Therefore, I think it would be better not to support Rust now.
> However, the cause should eventually be revealed.
>
> Acked-by: YAMAZAKI Masamitsu <yamazaki-msmt at nec.com>
>
> Thanks,
> Masa
>
> On 2025/10/22 15:38, HAGIO KAZUHITO(萩尾 一仁) wrote:
> > 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