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;
> }
>