loader: Relax the check in is_kernphys_relocatable()
The check fails in kernels compiled with KASAN because AddressSanitizer inserts redzones around global variables, so the size of the "kernphys" symbol is 32 rather than 8. Thus we fall back to copying even though it's not necessary. Simply remove the size check. I didn't want to extend the symbol size check since there's no guarantee that AddressSanitizer will always emit 32 bytes for "kernphys". Reviewed by: kib MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35448
This commit is contained in:
parent
756bc3adc5
commit
9a964ad561
@ -211,8 +211,7 @@ is_kernphys_relocatable(elf_file_t ef)
|
||||
{
|
||||
Elf_Sym sym;
|
||||
|
||||
return (__elfN(lookup_symbol)(ef, "kernphys", &sym, STT_OBJECT) == 0 &&
|
||||
sym.st_size == 8);
|
||||
return (__elfN(lookup_symbol)(ef, "kernphys", &sym, STT_OBJECT) == 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user