Re: Can KASAN be used with loadable modules?
Responding to my own message: It turns out that I had somehow botched the installation of the KASAN-ified kernel, so that the module compilation was using old information that didn't include KASAN. Once I got the KASAN-ified kernel properly installed, my module compiled cleanly with KASAN and KASAN did indeed detect memory problems. Sorry for the false alarm. On Tue, Oct 11, 2022 at 9:43 PM John Ousterhout <ouster@cs.stanford.edu> wrote:
Responding to my own message:
It turns out that I had somehow botched the installation of the KASAN-ified kernel, so that the module compilation was using old information that didn't include KASAN. Once I got the KASAN-ified kernel properly installed, my module compiled cleanly with KASAN and KASAN did indeed detect memory problems.
Sorry for the false alarm.
On Tue, Oct 11, 2022 at 2:47 PM John Ousterhout <john.ousterhout@gmail.com> wrote:
I'm trying to use the address sanitizer (KASAN) with a loadable module, but so far haven't been able to make it work. I compiled a kernel with KASAN and tested to see that it detects errors properly with kernel files, but when I compile a loadable module with that kernel, the module is not configured for KASAN (e.g. missing CFLAGS switches). Furthermore, I found that the lib/include/config/auto.conf file in the /lib/modules/xxx directory is different from the one in the kernel build directory. I tried copying the auto.conf file from the kernel directory to lib/modules/xxx, but then the module build fails during the link step with missing symbols such as __asan_handle_no_return.
Is KASAN known to work with modules? If so, is any additional configuration needed for a module to use KASAN?
Thanks in advance for any help you can provide.
-John-
participants (1)
-
John Ousterhout