When unwinding the stack we may descend into a poisoned region of the
kernel stack. I don't see a good way to handle this except to disable
the sanitizer entirely.
Define __nosanitizeaddress depending on whether we're in the kernel or
not, since KASAN and ASAN require different attributes. Add
__nosanitizememory while I'm here.
A further complication is that clang raises an error if
no_sanitize("kernel-address") is applied to a global variable rather
than a function:
error: 'no_sanitize' attribute only applies to functions and methods
So, modify linker_set.h to apply the attribute only if we're not in the
kernel.