lkml.org 
[lkml]   [2020]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 2/4] x86/bus_lock: Handle warn and fatal in #DB for bus lock
On Wed, Nov 11, 2020 at 07:20:46PM +0000, Fenghua Yu wrote:
> #DB for bus lock is enabled by bus lock detection bit 2 in DEBUGCTL MSR
> while #AC for split lock is enabled by split lock detection bit 29 in
> TEST_CTRL MSR.
>
> Delivery of #DB for bus lock in userspace clears DR6[11]. To avoid
> confusion in identifying #DB, #DB handler sets the bit to 1 before
> returning to the interrupted task.
>
> Use the existing kernel command line option "split_lock_detect=" to handle
> #DB for bus lock:
>
> split_lock_detect=
> #AC for split lock #DB for bus lock
>
> off Do nothing Do nothing
>
> warn Kernel OOPs Warn once per task and
> Warn once per task and and continues to run.
> disable future checking When both features are
> supported, warn in #DB
>
> fatal Kernel OOPs Send SIGBUS to user
> Send SIGBUS to user
> When both features are
> supported, fatal in #AC.
>
> Default option is "warn".
>
> Hardware only generates #DB for bus lock detect when CPL>0 to avoid
> nested #DB from multiple bus locks while the first #DB is being handled.
> So no need to handle #DB for bus lock detected in the kernel.
>
> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> Reviewed-by: Tony Luck <tony.luck@intel.com>

Sane enough I suppose,

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

The one thing I found still missing is a better description of the
things tickling SLD vs BLD. IIRC BLD detects a wider range of issues.
Therefore it _might_ make sense to allow SLD && BLD when fatal, instead
of only SLD.

Still, that's nitpicking.

\
 
 \ /
  Last update: 2020-11-17 13:27    [W:0.064 / U:2.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site