On Wed, Oct 11, 2023 at 09:46:16AM +0200, Peter Zijlstra wrote:
On Wed, Oct 11, 2023 at 09:58:49AM +0300, Kirill A. Shutemov wrote:
Fei has reported that KASAN triggers during apply_alternatives() on 5-level paging machine:
Urgh @ KASAN splat, can't we summarize that?
What about this?
BUG: KASAN: out-of-bounds in rcu_is_watching Read of size 4 at addr ff110003ee6419a0 by task swapper/0/0 ... __asan_load4 rcu_is_watching ? text_poke_early trace_hardirqs_on ? __asan_load4 text_poke_early apply_alternatives ...
Is it enough details or I overdid summarization?
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index 517ee01503be..b4cc4d7c0825 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c @@ -403,6 +403,17 @@ void __init_or_module noinline apply_alternatives(struct alt_instr *start, u8 insn_buff[MAX_PATCH_LEN]; DPRINTK(ALT, "alt table %px, -> %px", start, end);
- /*
* In the case CONFIG_X86_5LEVEL=y, KASAN_SHADOW_START is defined using
* cpu_feature_enabled(X86_FEATURE_LA57) and is therefore patched here.
* During the process, KASAN becomes confused and triggers
because of partial LA57 convertion ..
* a false-positive out-of-bound report.
*
* Disable KASAN until the patching is complete.
*/
- kasan_disable_current();
- /*
/* * In the case CONFIG_X86_5LEVEL=y, KASAN_SHADOW_START is defined using * cpu_feature_enabled(X86_FEATURE_LA57) and is therefore patched here. * During the process, KASAN becomes confused seeing partial LA57 * conversion and triggers a false-positive out-of-bound report. * * Disable KASAN until the patching is complete. */
Looks good?
If yes, I will submit v3 with your Ack.