[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Y2PRGeTIZU3T3IqX@hirez.programming.kicks-ass.net>
Date: Thu, 3 Nov 2022 15:32:57 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Alexander Potapenko <glider@...gle.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Andrew Morton <akpm@...ux-foundation.org>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org
Subject: Re: [PATCH v2] x86/traps: avoid KMSAN bugs originating from
handle_bug()
On Thu, Nov 03, 2022 at 02:45:15PM +0100, Alexander Potapenko wrote:
> There is a case in exc_invalid_op handler that is executed outside the
> irqentry_enter()/irqentry_exit() region when an UD2 instruction is used
> to encode a call to __warn().
>
> In that case the `struct pt_regs` passed to the interrupt handler is
> never unpoisoned by KMSAN (this is normally done in irqentry_enter()),
> which leads to false positives inside handle_bug().
>
> Use kmsan_unpoison_entry_regs() to explicitly unpoison those registers
> before using them.
>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Borislav Petkov <bp@...en8.de>
> Cc: Dave Hansen <dave.hansen@...ux.intel.com>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: Peter Zijlstra (Intel) <peterz@...radead.org>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: x86@...nel.org
> Signed-off-by: Alexander Potapenko <glider@...gle.com>
>
> ---
>
> v2:
> - move the call to kmsan_unpoison_entry_regs() after the
> instrumentation_begin(), as suggested by Peter Zijlstra
Thanks!
Acked-by: Peter Zijlstra (Intel) <peterz@...radead.org>
Powered by blists - more mailing lists