Alex Sverdlin
3680442cba
ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n
...
[ Upstream commit 823f606ab6b4759a1faf0388abcf4fb0776710d2 ]
In case CONFIG_KASAN_VMALLOC=y kasan_populate_vmalloc() allocates the
shadow pages dynamically. But even worse is that kasan_release_vmalloc()
releases them, which is not compatible with create_mapping() of
MODULES_VADDR..MODULES_END range:
BUG: Bad page state in process kworker/9:1 pfn:2068b
page:e5e06160 refcount:0 mapcount:0 mapping:00000000 index:0x0
flags: 0x1000(reserved)
raw: 00001000 e5e06164 e5e06164 00000000 00000000 00000000 ffffffff 00000000
page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
bad because of flags: 0x1000(reserved)
Modules linked in: ip_tables
CPU: 9 PID: 154 Comm: kworker/9:1 Not tainted 5.4.188-... #1
Hardware name: LSI Axxia AXM55XX
Workqueue: events do_free_init
unwind_backtrace
show_stack
dump_stack
bad_page
free_pcp_prepare
free_unref_page
kasan_depopulate_vmalloc_pte
__apply_to_page_range
apply_to_existing_page_range
kasan_release_vmalloc
__purge_vmap_area_lazy
_vm_unmap_aliases.part.0
__vunmap
do_free_init
process_one_work
worker_thread
kthread
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 12:35:45 +02:00
..
2022-10-26 12:35:43 +02:00
2022-07-12 16:35:12 +02:00
2022-08-17 14:24:19 +02:00
2022-08-17 14:24:23 +02:00
2022-08-17 14:24:23 +02:00
2022-08-17 14:23:05 +02:00
2022-09-15 11:30:04 +02:00
2022-06-29 09:03:31 +02:00
2022-08-17 14:23:06 +02:00
2022-06-29 09:03:31 +02:00
2022-04-20 09:34:20 +02:00
2022-06-29 09:03:30 +02:00
2022-06-09 10:22:42 +02:00
2021-10-15 09:38:06 +08:00
2022-04-08 14:24:11 +02:00
2022-06-09 10:23:07 +02:00
2022-07-12 16:35:11 +02:00
2022-04-08 14:24:02 +02:00
2022-04-08 14:22:46 +02:00
2022-06-09 10:22:42 +02:00
2022-08-17 14:23:09 +02:00
2022-06-09 10:23:29 +02:00
2022-04-08 14:24:13 +02:00
2022-08-17 14:23:04 +02:00
2022-02-16 12:56:19 +01:00
2022-06-09 10:22:42 +02:00
2022-08-17 14:23:09 +02:00
2022-10-26 12:35:45 +02:00
2022-07-21 21:24:12 +02:00
2022-07-07 17:53:32 +02:00
2022-10-26 12:35:00 +02:00
2022-01-27 11:04:29 +01:00
2021-11-18 19:17:13 +01:00