Hi,
I noticed that /proc/modules reports inconsistent address and size
values for modules. In m_show():
size = module_total_size(mod); // .text + .rodata +
.data + ...
value = mod->mem[MOD_TEXT].base; // only text base
Looking at kallsyms, .data symbols can come before .text symbols, so
[addr, addr+size) is useless as a bound and can be overlapping.
I have a userspace frontend for perf [1] and the code currently
expects non-overlapping regions. I can add a workaround to truncate
any overlapping regions from /proc/modules. But is it possible to
"fix" the kernel-side semantics here?
[1]: https://github.com/mstange/samply/pull/736