On Thu, Oct 17, 2024 at 4:22 PM Clement LE GOFFIC clement.legoffic@foss.st.com wrote:
On 10/17/24 14:59, Linus Walleij wrote:
[...]
+static unsigned long arm_kasan_mem_to_shadow(unsigned long addr) +{
return (unsigned long)kasan_mem_to_shadow((void *)addr);
+}
`kasan_mem_to_shadow` function symbol is only exported with : CONFIG_KASAN_GENERIC or defined(CONFIG_KASAN_SW_TAGS) from kasan.h
To me, the if condition you added below should be expanded with those two macros.
(...)
if (IS_ENABLED(CONFIG_KASAN_VMALLOC)) {
Let's check this with the KASAN authors, I think looking for CONFIG_KASAN_VMALLOC should be enough as it is inside the if KASAN clause in lib/Kconfig.kasan, i.e. the symbol KASAN must be enabled for CONFIG_KASAN_VMALLOC to be enabled, and if KASAN is enabled then either KASAN_GENERIC or KASAN_SW_TAGS is enabled (the third option KASAN_HW_TAGS, also known as memory tagging is only available on ARM64 and we are not ARM64.)
But I might be wrong! Kconfig regularly bites me in the foot...
Yours, Linus Walleij