[Crash-utility] Re: [Crash-Utility][PATCH v2] symbols.c: skip non-exist module memory type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024/04/03 16:06, Tao Liu wrote:
> Not all mod_mem_type will be included for kernel modules. E.g. in the
> following module case:
> 
> (gdb) p lm->symtable[0]
> $1 = (struct syment *) 0x4dcbad0
> (gdb) p lm->symtable[1]
> $2 = (struct syment *) 0x4dcbb70
> (gdb) p lm->symtable[2]
> $3 = (struct syment *) 0x4dcbc10
> (gdb) p lm->symtable[3]
> $4 = (struct syment *) 0x0
> (gdb) p lm->symtable[4]
> $5 = (struct syment *) 0x4dcbcb0
> (gdb) p lm->symtable[5]
> $6 = (struct syment *) 0x4dcbd00
> (gdb) p lm->symtable[6]
> $7 = (struct syment *) 0x0
> (gdb) p lm->symtable[7]
> $8 = (struct syment *) 0x4dcbb48
> 
> mod_mem MOD_RO_AFTER_INIT(3) and MOD_INIT_RODATA(6) is not exist, which should
> be skipped, otherwise a segfault will happen.
> 
> Fixes: 7750e61fdb2a ("Support module memory layout change on Linux 6.4")
> 
> Signed-off-by: Tao Liu <ltao@xxxxxxxxxx>
> Reported-by: Naveen Chaudhary <naveenchaudhary2010@xxxxxxxxxxx>
> ---
> 
> v1 -> v2: Keep the same code style as other similar iteration/checking cases.

Thank you for the update, applied with some information in the commit 
log for someone searches for this issue more easily.

https://github.com/crash-utility/crash/commit/ced754d3f8ce796d0d894dbb0f340e9c905c206a

Thanks,
Kazu


> 
> ---
>   symbols.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/symbols.c b/symbols.c
> index cbc9ed1..b7627a8 100644
> --- a/symbols.c
> +++ b/symbols.c
> @@ -5577,6 +5577,9 @@ value_search_module_6_4(ulong value, ulong *offset)
>   			continue;
>   
>   		for_each_mod_mem_type(t) {
> +			if (!lm->symtable[t])
> +				continue;
> +
>   			sp = lm->symtable[t];
>   			sp_end = lm->symend[t];
>   
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux