Re: [PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-16 Thread Fenghua Yu
On Wed, May 16, 2018 at 09:44:59AM -0700, Dave Hansen wrote: > On 05/15/2018 10:21 AM, Fenghua Yu wrote: > > On Tue, May 15, 2018 at 08:51:24AM -0700, Dave Hansen wrote: > >> On 05/14/2018 11:52 AM, Fenghua Yu wrote: > >>> +#define delay_ms1 > >> > >> That seems like a dangerously-generic

Re: [PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-16 Thread Dave Hansen
On 05/15/2018 10:21 AM, Fenghua Yu wrote: > On Tue, May 15, 2018 at 08:51:24AM -0700, Dave Hansen wrote: >> On 05/14/2018 11:52 AM, Fenghua Yu wrote: >>> +#definedelay_ms1 >> >> That seems like a dangerously-generic name that should not be a #define >> anyway. > > Sure. I will change i

Re: [PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-15 Thread Fenghua Yu
On Tue, May 15, 2018 at 08:51:24AM -0700, Dave Hansen wrote: > On 05/14/2018 11:52 AM, Fenghua Yu wrote: > > +#definedelay_ms1 > > That seems like a dangerously-generic name that should not be a #define > anyway. Sure. I will change it to #define split_lock_delay_ms 1 > > > +sta

Re: [PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-15 Thread Luck, Tony
On Tue, May 15, 2018 at 08:51:24AM -0700, Dave Hansen wrote: > > + pr_info_ratelimited("Alignment check for split lock at %lx\n", address); > > This is a potential KASLR bypass, I believe. We shouldn't be printing > raw kernel addresses. > > We have some nice printk's for page faults that give

Re: [PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-15 Thread Dave Hansen
On 05/14/2018 11:52 AM, Fenghua Yu wrote: > +#define delay_ms1 That seems like a dangerously-generic name that should not be a #define anyway. > +static void delayed_reenable_split_lock(struct work_struct *w) > +{ > + if (split_lock_ac == ENABLE_SPLIT_LOCK_AC) > + _se

[PATCH 03/15] x86/split_lock: Handle #AC exception for split lock in kernel mode

2018-05-14 Thread Fenghua Yu
When #AC exception for split lock happens in kernel code, disable further #AC exception for split lock in the handler. Then the faulting instruction is re-executed after exiting from the handler without triggering another #AC exception. Re-enable #AC exception for split lock later (after 1 ms). Du