Re: [PATCH 1/4] context_tracking: Protect against recursion

2015-05-07 Thread Frederic Weisbecker
On Thu, May 07, 2015 at 11:58:32AM +0200, Ingo Molnar wrote: > > * Frederic Weisbecker wrote: > > > @@ -75,6 +94,11 @@ void context_tracking_enter(enum ctx_state state) > > WARN_ON_ONCE(!current->mm); > > > > local_irq_save(flags); > > + if (!context_tracking_recursion_enter()) { > >

Re: [PATCH 1/4] context_tracking: Protect against recursion

2015-05-07 Thread Ingo Molnar
* Frederic Weisbecker wrote: > @@ -75,6 +94,11 @@ void context_tracking_enter(enum ctx_state state) > WARN_ON_ONCE(!current->mm); > > local_irq_save(flags); > + if (!context_tracking_recursion_enter()) { > + local_irq_restore(flags); > + return; > +

[PATCH 1/4] context_tracking: Protect against recursion

2015-05-06 Thread Frederic Weisbecker
Context tracking recursion can happen when an exception triggers in the middle of a call to a context tracking probe. This special case can be caused by vmalloc faults. If an access to a memory area allocated by vmalloc happens in the middle of context_tracking_enter(), we may run into an endless

[PATCH 1/4] context_tracking: Protect against recursion

2015-04-24 Thread Frederic Weisbecker
Context tracking recursion can happen when an exception triggers in the middle of a call to a context tracking probe. This special case can be caused by vmalloc faults. If an access to a memory area allocated by vmalloc happens in the middle of context_tracking_enter(), we may run into an endless

[PATCH 1/4] context_tracking: Protect against recursion

2015-04-21 Thread Frederic Weisbecker
Context tracking recursion can happen when an exception triggers in the middle of a call to a context tracking probe. This special case can be caused by vmalloc faults. If an access to a memory area allocated by vmalloc happens in the middle of context_tracking_enter(), we may run into an endless