Messages in this thread | | | From | Andrey Konovalov <> | Date | Sat, 10 Jul 2021 21:16:14 +0200 | Subject | Re: [PATCH] kasan: fix build for CONFIG_KASAN_HW_TAGS |
| |
On Thu, Jul 8, 2021 at 4:44 PM Mark Rutland <mark.rutland@arm.com> wrote: > > When CONFIG_KASAN_HW_TAGS is selected, <linux/kasan.h> uses _RET_IP_, > but doesn't explicitly include <linux/kernel.h> where this is defined. > > We used to get this via a transitive include, but since commit: > > f39650de687e3576 ("kernel.h: split out panic and oops helpers") > > ... this is no longer the case, and so we get a build failure: > > | CC arch/arm64/mm/kasan_init.o > | In file included from arch/arm64/mm/kasan_init.c:10: > | ./include/linux/kasan.h: In function 'kasan_slab_free': > | ./include/linux/kasan.h:211:39: error: '_RET_IP_' undeclared (first use in this function) > | 211 | return __kasan_slab_free(s, object, _RET_IP_, init); > | | ^~~~~~~~ > | ./include/linux/kasan.h:211:39: note: each undeclared identifier is reported only once for each function it appears in > | ./include/linux/kasan.h: In function 'kasan_kfree_large': > | ./include/linux/kasan.h:219:28: error: '_RET_IP_' undeclared (first use in this function) > | 219 | __kasan_kfree_large(ptr, _RET_IP_); > | | ^~~~~~~~ > | ./include/linux/kasan.h: In function 'kasan_slab_free_mempool': > | ./include/linux/kasan.h:226:34: error: '_RET_IP_' undeclared (first use in this function) > | 226 | __kasan_slab_free_mempool(ptr, _RET_IP_); > | | ^~~~~~~~ > | ./include/linux/kasan.h: In function 'kasan_check_byte': > | ./include/linux/kasan.h:277:35: error: '_RET_IP_' undeclared (first use in this function) > | 277 | return __kasan_check_byte(addr, _RET_IP_); > | | ^~~~~~~~ > > Fix this by including <linux/kernel.h> explicitly.
Hi Mark,
Marco already sent a fix for this. It should be in the mm tree. (Although the link to it in the Andrew's notification email doesn't work. But they rarely do :)
> As a heads-up, there are some unrelated runtime issues with > CONFIG_KASAN_HW_TAGS and the recent arm64 string routines rework, which > I'm looking into now. If you boot-test with this applied, you should > expect to see those.
+Sam, +Robin
Looks like the new strlen routine is making accesses past the allocated buffer.
The guilty commit is 325a1de81287 ("arm64: Import updated version of Cortex Strings' strlen").
Thanks!
| |