[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJuCfpGxEYZ_7Ff-vpBThfM98ZbUu9pSPeoumkkKuLZiqLpORg@mail.gmail.com>
Date: Tue, 17 Jun 2025 08:05:16 -0700
From: Suren Baghdasaryan <surenb@...gle.com>
To: Petr Pavlu <petr.pavlu@...e.com>
Cc: Casey Chen <cachen@...estorage.com>, akpm@...ux-foundation.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, linux-modules@...r.kernel.org,
linux-arch@...r.kernel.org, kent.overstreet@...ux.dev, arnd@...db.de,
mcgrof@...nel.org, pasha.tatashin@...een.com, yzhong@...estorage.com
Subject: Re: [PATCH] alloc_tag: remove empty module tag section
On Tue, Jun 17, 2025 at 2:27 AM Petr Pavlu <petr.pavlu@...e.com> wrote:
>
> On 6/10/25 6:22 PM, Casey Chen wrote:
> > The empty MOD_CODETAG_SECTIONS() macro added an incomplete .data
> > section in module linker script, which caused symbol lookup tools
> > like gdb to misinterpret symbol addresses e.g., __ib_process_cq
> > incorrectly mapping to unrelated functions like below.
> >
> > (gdb) disas __ib_process_cq
> > Dump of assembler code for function trace_event_fields_cq_schedule:
> >
> > Removing the empty section restores proper symbol resolution and
> > layout, ensuring .data placement behaves as expected.
>
> The patch looks ok me, but I'm somewhat confused about the problem.
> I think a linker should not add an empty output section if it doesn't
> contain anything, or if .data actually contains something then the extra
> dummy definition should be also harmless?
I also assumed so but apparently this is not entirely harmless.
>
> This also reminds me of my previous related fix "codetag: Avoid unused
> alloc_tags sections/symbols" [1] which fell through the cracks. I can
> rebase it on top of this patch.
>
> [1] https://lore.kernel.org/all/20250313143002.9118-1-petr.pavlu@suse.com/
Yes please.
>
> --
> Thanks,
> Petr
Powered by blists - more mailing lists