ARM: 9203/1: kconfig: fix MODULE_PLTS for KASAN with KASAN_VMALLOC
When we run out of module space address with ko insertion,
and with MODULE_PLTS, module would turn to try to find memory
from VMALLOC address space.
Unfortunately, with KASAN enabled, VMALLOC doesn't work without
KASAN_VMALLOC, thus select KASAN_VMALLOC by default.
8<--- cut here ---
Unable to handle kernel paging request at virtual address
bd300860
[
bd300860] *pgd=
41cf1811, *pte=
41cf26df, *ppte=
41cf265f
Internal error: Oops: 80f [#1] PREEMPT SMP ARM
Modules linked in: hello(O+)
CPU: 0 PID: 89 Comm: insmod Tainted: G O 5.16.0-rc6+ #19
Hardware name: Generic DT based system
PC is at mmioset+0x30/0xa8
LR is at 0x0
pc : [<
c077ed30>] lr : [<
00000000>] psr:
20000013
sp :
c451fc18 ip :
bd300860 fp :
c451fc2c
r10:
f18042cc r9 :
f18042d0 r8 :
00000000
r7 :
00000001 r6 :
00000003 r5 :
01312d00 r4 :
f1804300
r3 :
00000000 r2 :
00262560 r1 :
00000000 r0 :
bd300860
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control:
10c5387d Table:
43e9406a DAC:
00000051
Register r0 information: non-paged memory
Register r1 information: NULL pointer
Register r2 information: non-paged memory
Register r3 information: NULL pointer
Register r4 information: 4887-page vmalloc region starting at 0xf1802000 allocated at load_module+0x14f4/0x32a8
Register r5 information: non-paged memory
Register r6 information: non-paged memory
Register r7 information: non-paged memory
Register r8 information: NULL pointer
Register r9 information: 4887-page vmalloc region starting at 0xf1802000 allocated at load_module+0x14f4/0x32a8
Register r10 information: 4887-page vmalloc region starting at 0xf1802000 allocated at load_module+0x14f4/0x32a8
Register r11 information: non-slab/vmalloc memory
Register r12 information: non-paged memory
Process insmod (pid: 89, stack limit = 0xc451c000)
Stack: (0xc451fc18 to 0xc4520000)
fc00:
f18041f0 c04803a4
fc20:
c451fc44 c451fc30 c048053c c0480358 f1804030 01312cff c451fc64 c451fc48
fc40:
c047f330 c0480500 f18040c0 c1b52ccc 00000001 c5be7700 c451fc74 c451fc68
fc60:
f1802098 c047f300 c451fcb4 c451fc78 c026106c f180208c c4880004 00000000
fc80:
c451fcb4 bf001000 c044ff48 c451fec0 f18040c0 00000000 c1b54cc4 00000000
fca0:
c451fdf0 f1804268 c451fe64 c451fcb8 c0264e88 c0260d48 ffff8000 00007fff
fcc0:
f18040c0 c025cd00 c451fd14 00000003 0157f008 f1804258 f180425c f1804174
fce0:
f1804154 f180424c f18041f0 f180414c f1804178 f18041c0 bf0025d4 188a3fa8
fd00:
0000009e f1804170 f2b18000 c451ff10 c0d92e40 f180416c c451feec 00000001
fd20:
00000000 c451fec8 c451fe20 c451fed0 f18040cc 00000000 f17ea000 c451fdc0
fd40:
41b58ab3 c1387729 c0261c28 c047fb5c c451fe2c c451fd60 c0525308 c048033c
fd60:
188a3fb4 c3ccb090 c451fe00 c3ccb080 00000000 00000000 00016920 00000000
fd80:
c02d0388 c047f55c c02d0388 00000000 c451fddc c451fda0 c02d0388 00000000
fda0:
41b58ab3 c13a72d0 c0524ff0 c1705f48 c451fdfc c451fdc0 c02d0388 c047f55c
fdc0:
00016920 00000000 00000003 c1bb2384 c451fdfc c3ccb080 c1bb2384 00000000
fde0:
00000000 00000000 00000000 00000000 c451fe1c c451fe00 c04e9d70 c1705f48
fe00:
c1b54cc4 c1bbc71c c3ccb080 00000000 c3ccb080 00000000 00000003 c451fec0
fe20:
c451fe64 c451fe30 c0525918 c0524ffc c451feb0 c1705f48 00000000 c1b54cc4
fe40:
b78a3fd0 c451ff60 00000000 0157f008 00000003 c451fec0 c451ffa4 c451fe68
fe60:
c0265480 c0261c34 c451feb0 7fffffff 00000000 00000002 00000000 c4880000
fe80:
41b58ab3 c138777b c02652cc c04803ec 000a0000 c451ff00 ffffff9c b6ac9f60
fea0:
c451fed4 c1705f48 c04a4a90 b78a3fdc f17ea000 ffffff9c b6ac9f60 c0100244
fec0:
f17ea21a f17ea300 f17ea000 00016920 f1800240 f18000ac f17fb7dc 01316000
fee0:
013161b0 00002590 01316250 00000000 00000000 00000000 00002580 00000029
ff00:
0000002a 00000013 00000000 0000000c 00000000 00000000 0157f004 c451ffb0
ff20:
c1719be0 aed6f410 c451ff74 c451ff38 c0c4103c c0c407d0 c451ff84 c451ff48
ff40:
00000805 c02c8658 c1604230 c1719c30 00000805 0157f004 00000005 c451ffb0
ff60:
c1719be0 aed6f410 c451ffac c451ff78 c0122130 c1705f48 c451ffac 0157f008
ff80:
00000006 0000005f 0000017b c0100244 c4880000 0000017b 00000000 c451ffa8
ffa0:
c0100060 c02652d8 0157f008 00000006 00000003 0157f008 00000000 b6ac9f60
ffc0:
0157f008 00000006 0000005f 0000017b 00000000 00000000 aed85f74 00000000
ffe0:
b6ac9cd8 b6ac9cc8 00030200 aecf2d60 a0000010 00000003 00000000 00000000
Backtrace:
[<
c048034c>] (kasan_poison) from [<
c048053c>] (kasan_unpoison+0x48/0x5c)
[<
c04804f4>] (kasan_unpoison) from [<
c047f330>] (__asan_register_globals+0x3c/0x64)
r5:
01312cff r4:
f1804030
[<
c047f2f4>] (__asan_register_globals) from [<
f1802098>] (_sub_I_65535_1+0x18/0xf80 [hello])
r7:
c5be7700 r6:
00000001 r5:
c1b52ccc r4:
f18040c0
[<
f1802080>] (_sub_I_65535_1 [hello]) from [<
c026106c>] (do_init_module+0x330/0x72c)
[<
c0260d3c>] (do_init_module) from [<
c0264e88>] (load_module+0x3260/0x32a8)
r10:
f1804268 r9:
c451fdf0 r8:
00000000 r7:
c1b54cc4 r6:
00000000 r5:
f18040c0
r4:
c451fec0
[<
c0261c28>] (load_module) from [<
c0265480>] (sys_finit_module+0x1b4/0x1e8)
r10:
c451fec0 r9:
00000003 r8:
0157f008 r7:
00000000 r6:
c451ff60 r5:
b78a3fd0
r4:
c1b54cc4
[<
c02652cc>] (sys_finit_module) from [<
c0100060>] (ret_fast_syscall+0x0/0x1c)
Exception stack(0xc451ffa8 to 0xc451fff0)
ffa0:
0157f008 00000006 00000003 0157f008 00000000 b6ac9f60
ffc0:
0157f008 00000006 0000005f 0000017b 00000000 00000000 aed85f74 00000000
ffe0:
b6ac9cd8 b6ac9cc8 00030200 aecf2d60
r10:
0000017b r9:
c4880000 r8:
c0100244 r7:
0000017b r6:
0000005f r5:
00000006
r4:
0157f008
Code:
e92d4100 e1a08001 e1a0e003 e2522040 (
a8ac410a)
---[ end trace
df6e12843197b6f5 ]---
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>