Hi,Liu
Thanks your patch. What kind of environment did you test
this KASLR problem ? Especialy is it kernel verssion
6.11.8-300.fc41.x86_64 ? Have you checked other versions?
Additionally, do you know the version of eppic ?
Also, if possible, show this problem results when an error occurs
and the results when it is correct. Please tell me.
Sincerely
On 2025/06/10 18:57, Tao Liu wrote:
> There is a bug of not supporting randomized kernel address, this patch fix it.
>
> Signed-off-by: Tao Liu <ltao(a)redhat.com>
> ---
>   erase_info.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/erase_info.c b/erase_info.c
> index af6bfae..b67d1d0 100644
> --- a/erase_info.c
> +++ b/erase_info.c
> @@ -1881,7 +1881,7 @@ get_symbol_addr_all(char *name) {
>   	if (!strcmp(get_dwarf_module_name(), "vmlinux")) {
>   		symbol_addr = get_symbol_addr(name);
>   		if (symbol_addr)
> -			return symbol_addr;
> +			return symbol_addr + info->kaslr_offset;
>   
>   		vmlinux_searched = 1;
>   	}
> @@ -1942,9 +1942,9 @@ get_symbol_addr_all(char *name) {
>   	 * this function is called with debuginfo set to a particular
>   	 * kernel module and we are looking for symbol in vmlinux
>   	 */
> -	if (!vmlinux_searched)
> -		return get_symbol_addr(name);
> -	else
> +	if (!vmlinux_searched && !!(symbol_addr = get_symbol_addr(name))) {
> +		return symbol_addr + info->kaslr_offset;
> +	} else
>   		return NOT_FOUND_SYMBOL;
>   }
>