29.10.2020 21:10, Ard Biesheuvel пишет: > On Thu, 29 Oct 2020 at 18:45, Dmitry Osipenko <digetx@xxxxxxxxx> wrote: >> >> 19.10.2020 11:41, Linus Walleij пишет: >>> This is the 16th and final (knock on wood) version of >>> KASan for ARM32. >> >> Hi, >> >> I tried KASAN on NVIDIA Tegra using next-20201029 and getting a (seems) >> bogus bug report saying that the bug is in the KASAN code (note >> udc_irq() belongs to the ChipIdea USB driver), this problem doesn't >> happen using one of older versions of the KASAN patches. >> > > That is probably a coincidence. I ran into the same thing: > > https://lore.kernel.org/linux-arm-kernel/20201029001753.717-1-ardb@xxxxxxxxxx/ > > I am not sure this is the right fix, but it does silence the warning for me. Disabling instrumentation for the stacktrace indeed fixes it, thank you. Now there is another problem.. next-20201029 has the same trouble which all previous versions of the KASAN series had, where tasks are hanging in unkillable state, eating 100% CPU. For example I never managed to get Xorg to work with the ARM32 KASAN, this is what happens (sometimes it happens during boot, where systemd services hang): INFO: task pool-nm-online:448 can't die for more than 61 seconds. task:pool-nm-online state:R running task stack: 0 pid: 448 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c01c3699>] (get_futex_value_locked+0xa1/0xb8) [<c01c3699>] (get_futex_value_locked) from [<c01c4a81>] (futex_wait_setup+0xc1/0x150) [<c01c4a81>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc648bfa8 to 0xc648bff0) bfa0: 00000000 acb09e48 acb09e48 00000080 00000002 00000000 bfc0: 00000000 acb09e48 acb09e48 000000f0 ad4f0990 7fffffff 00000001 00000000 bfe0: ad4f0918 ad4f0908 aea1d087 ae924e62 INFO: task blueman-mechani:279 can't die for more than 61 seconds. task:blueman-mechani state:R running task stack: 0 pid: 279 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31581>] (preempt_schedule_common+0x29/0x48) [<c0e31581>] (preempt_schedule_common) from [<c01c4a19>] (futex_wait_setup+0x59/0x150) [<c01c4a19>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc300bfa8 to 0xc300bff0) bfa0: 00000000 00538cd0 00538cd0 00000080 00000002 00000000 bfc0: 00000000 00538cd0 00538cd0 000000f0 b6af1320 7fffffff 00000001 00000000 bfe0: b6af12a8 b6af1298 ae3e8087 aed00e62 INFO: task polkitd:292 can't die for more than 61 seconds. task:polkitd state:R running task stack: 0 pid: 292 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31581>] (preempt_schedule_common+0x29/0x48) [<c0e31581>] (preempt_schedule_common) from [<c01c4a19>] (futex_wait_setup+0x59/0x150) [<c01c4a19>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc48a3fa8 to 0xc48a3ff0) 3fa0: 00000000 0043a788 0043a788 00000080 00000002 00000000 3fc0: 00000000 0043a788 0043a788 000000f0 b67eac70 7fffffff 00000001 00000000 3fe0: b67eabf8 b67eabe8 aeadd087 ae936e62 INFO: task pool-polkitd:315 can't die for more than 61 seconds. task:pool-polkitd state:R running task stack: 0 pid: 315 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31b73>] (preempt_schedule_irq+0x6f/0x12c) [<c0e31b73>] (preempt_schedule_irq) from [<c0100b77>] (svc_preempt+0x7/0x14) Exception stack(0xc7b57d30 to 0xc7b57d78) 7d20: c7b54004 00000000 c7b54004 00000007 7d40: c7b54000 00000000 c7b54004 c7b57e20 c7b57e40 c7b57e38 c7b54000 c2c28e44 7d60: c7b54040 c7b57d80 c0e36849 c0e3684e 20030133 ffffffff [<c0100b77>] (svc_preempt) from [<c0e3684e>] (_raw_spin_unlock+0x42/0x58) [<c0e3684e>] (_raw_spin_unlock) from [<c01c4a19>] (futex_wait_setup+0x59/0x150) [<c01c4a19>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc7b57fa8 to 0xc7b57ff0) 7fa0: 0007a120 00000000 0043cd1c 00000080 00000000 add22cec 7fc0: 0007a120 00000000 00000000 000000f0 0043cd10 0043cd18 aeb529b0 aeb51be0 7fe0: add22cd0 add22cc0 aeadda45 ae936e62 INFO: task pool-udisksd:340 can't die for more than 61 seconds. task:pool-udisksd state:R running task stack: 0 pid: 340 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31b73>] (preempt_schedule_irq+0x6f/0x12c) [<c0e31b73>] (preempt_schedule_irq) from [<c0100b77>] (svc_preempt+0x7/0x14) Exception stack(0xc6abfd40 to 0xc6abfd88) fd40: c6abfe38 00000000 c6abfe38 00000003 c6abfde4 c2c28d00 00546084 c6abfe20 fd60: c6abfe40 c6abfe38 c6abc000 c2c28d04 c6abc040 c6abfd90 c01c4aa7 c01c4aa6 fd80: 000b0133 ffffffff [<c0100b77>] (svc_preempt) from [<c01c4aa6>] (futex_wait_setup+0xe6/0x150) [<c01c4aa6>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc6abffa8 to 0xc6abfff0) ffa0: 0007a120 00000000 00546084 00000080 00000000 ad8fecdc ffc0: 0007a120 00000000 00000000 000000f0 00546078 00546080 ae9f79b0 ae9f6be0 ffe0: ad8fecc0 ad8fecb0 ae982a45 ae889e62 INFO: task gdbus:433 can't die for more than 61 seconds. task:gdbus state:R running task stack: 0 pid: 433 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31581>] (preempt_schedule_common+0x29/0x48) [<c0e31581>] (preempt_schedule_common) from [<c01c4a19>] (futex_wait_setup+0x59/0x150) [<c01c4a19>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc5b03fa8 to 0xc5b03ff0) 3fa0: 0054e010 aeb770bc 0054e01c 00000080 00000002 00000000 3fc0: 0054e010 aeb770bc 0054aef0 000000f0 0054e01c 0055a150 0054aef0 00000000 3fe0: acefec28 acefec18 ae982087 ae889e62 INFO: task probing-thread:551 can't die for more than 61 seconds. task:probing-thread state:R running task stack: 0 pid: 551 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31b73>] (preempt_schedule_irq+0x6f/0x12c) [<c0e31b73>] (preempt_schedule_irq) from [<c0100b77>] (svc_preempt+0x7/0x14) Exception stack(0xc8cf3d28 to 0xc8cf3d70) 3d20: c8cf0000 c8cf0003 c8cf0000 00000003 c8cf0000 00000000 3d40: c8cf0004 c8cf3e20 c8cf3e40 c8cf3e38 c8cf0000 c2c2a484 c8cf0040 c8cf3d7c 3d60: c0e36855 c02f2404 800b0133 ffffffff [<c0100b77>] (svc_preempt) from [<c02f2404>] (__asan_load4+0x14/0x60) [<c02f2404>] (__asan_load4) from [<c0e36855>] (_raw_spin_unlock+0x49/0x58) [<c0e36855>] (_raw_spin_unlock) from [<c01c4a19>] (futex_wait_setup+0x59/0x150) [<c01c4a19>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc8cf3fa8 to 0xc8cf3ff0) 3fa0: 00000000 0056410c 0056410c 00000080 00000000 00000000 3fc0: 00000000 0056410c 00000000 000000f0 00564114 00564108 00000000 b6b5e540 3fe0: ac2e9cf8 ac2e9ce8 ae982935 ae889e62 INFO: task pool:364 can't die for more than 61 seconds. task:pool state:R running task stack: 0 pid: 364 ppid: 1 flags:0x00000081 [<c0e30e5f>] (__schedule) from [<c0e31b73>] (preempt_schedule_irq+0x6f/0x12c) [<c0e31b73>] (preempt_schedule_irq) from [<c0100b77>] (svc_preempt+0x7/0x14) Exception stack(0xc73fbd40 to 0xc73fbd88) bd40: c2c28fc0 c16084b0 000003ff 00000001 c73fbde4 c2c28fc0 ad609e80 c73fbe20 bd60: c73fbe40 c73fbe38 c73f8000 c2c28fc4 c73f8040 c73fbd90 c01c3bcf c01c4a8e bd80: 200e0133 ffffffff [<c0100b77>] (svc_preempt) from [<c01c4a8e>] (futex_wait_setup+0xce/0x150) [<c01c4a8e>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c010024b>] (__sys_trace_return+0x1/0x16) Exception stack(0xc73fbfa8 to 0xc73fbff0) bfa0: 00000000 ad609e80 ad609e80 00000080 00000002 00000000 bfc0: 00000000 ad609e80 ad609e80 000000f0 adf20be0 7fffffff 00000001 00000000 bfe0: adf20b68 adf20b58 aeb84087 aea48e62 INFO: task pool-nm-online:448 can't die for more than 122 seconds. task:pool-nm-online state:R running task stack: 0 pid: 448 ppid: 1 flags:0x00000001 [<c0e30e5f>] (__schedule) from [<c0e31b73>] (preempt_schedule_irq+0x6f/0x12c) [<c0e31b73>] (preempt_schedule_irq) from [<c0100b77>] (svc_preempt+0x7/0x14) Exception stack(0xc648bd20 to 0xc648bd68) bd20: c648be48 c648be4b c648be48 c648be4d c648bde4 deadcd43 acb09e48 c648be40 bd40: c648be40 c648be38 c6488000 c2c21404 c6488040 c648bd74 c01c3bbd c02f2400 bd60: 80030133 ffffffff [<c0100b77>] (svc_preempt) from [<c02f2400>] (__asan_load4+0x10/0x60) [<c02f2400>] (__asan_load4) from [<c01c3bbd>] (hash_futex+0x25/0x80) [<c01c3bbd>] (hash_futex) from [<c01c4a81>] (futex_wait_setup+0xc1/0x150) [<c01c4a81>] (futex_wait_setup) from [<c01c4bc3>] (futex_wait+0xb3/0x1d0) [<c01c4bc3>] (futex_wait) from [<c01c66d7>] (do_futex+0xcf/0xabc) [<c01c66d7>] (do_futex) from [<c01c7285>] (sys_futex_time32+0xbd/0x138) [<c01c7285>] (sys_futex_time32) from [<c01000a1>] (ret_fast_syscall+0x1/0x26) Exception stack(0xc648bfa8 to 0xc648bff0) bfa0: 00000000 acb09e48 acb09e48 00000080 00000002 00000000 bfc0: 00000000 acb09e48 acb09e48 000000f0 ad4f0990 7fffffff 00000001 00000000 bfe0: ad4f0918 ad4f0908 aea1d087 ae924e62