Re: [PATCH v3 6/8] arm64/module, sframe: Add sframe support for modules.
Jens Remus <[email protected]> Mon, 20 Apr 2026 11:54:57 +0200
| Newsgroups | org.kernel.vger.linux-toolchains,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.live-patching |
|---|---|
| Organization | IBM Deutschland Research & Development GmbH |
| Message-ID | <[email protected]> |
On 4/6/2026 8:49 PM, Dylan Hatch wrote: > Add sframe table to mod_arch_specific and support sframe PC lookups when > an .sframe section can be found on incoming modules. > > Signed-off-by: Dylan Hatch <[email protected]> > Signed-off-by: Weinan Liu <[email protected]> > diff --git a/kernel/unwind/sframe.c b/kernel/unwind/sframe.c > +void sframe_module_init(struct module *mod, void *sframe, size_t sframe_size, > + void *text, size_t text_size) > +{ > + struct sframe_section sec; > + I think sec should better be explicitly zero-initialized, as it is done in sframe_add_section() for user space. IIUC likewise is not needed in init_sframe_table() for the kernel vmlinux, as static variables are zero-initialized. memset(&sec, 0, sizeof(sec)); > + sec.sec_type = SFRAME_KERNEL; > + sec.sframe_start = (unsigned long)sframe; > + sec.sframe_end = (unsigned long)sframe + sframe_size; > + sec.text_start = (unsigned long)text; > + sec.text_end = (unsigned long)text + text_size; > + > + if (WARN_ON(sframe_read_header(&sec))) > + return; > + > + mod->arch.sframe_sec = sec; > + mod->arch.sframe_init = true; > +} Regards, Jens -- Jens Remus Linux on Z Development (D3303) [email protected] / [email protected] IBM Deutschland Research & Development GmbH; Vorsitzender des Aufsichtsrats: Wolfgang Wendt; Geschäftsführung: David Faller; Sitz der Gesellschaft: Ehningen; Registergericht: Amtsgericht Stuttgart, HRB 243294 IBM Data Privacy Statement: https://www.ibm.com/privacy/