Messages in this thread | | | Date | Thu, 7 Feb 2013 17:09:43 +0100 | Subject | Re: [RFC PATCH 1/5] powerpc: Syscall hooks for context tracking subsystem | From | Frederic Weisbecker <> |
| |
2013/2/7 Li Zhong <zhong@linux.vnet.ibm.com>: > On Thu, 2013-02-07 at 01:29 +0100, Frederic Weisbecker wrote: >> In x86-64, schedule_user() and do_notify_resume() can be called before >> syscall_trace_leave(). As a result we may be entering >> syscall_trace_leave() in user mode (from a context tracking POV). To >> fix this I added a call to user_exit() on the very beginning of that >> function. >> >> You can find the details in 2c5594df344cd1ff0cc9bf007dea3235582b3acf >> ("rcu: Fix unrecovered RCU user mode in syscall_trace_leave()"). > > Hi Frederic, > > Thank you very much for the reminding. > >> >> Could this problem happen in ppc as well? > > I checked the code(64 bit) today, it seems to me that it won't happen. > But fortunately, we are in the ppc mailing list, please correct me if my > understanding is wrong.
Ah indeed. Looking at syscall_exit_work label in entry_64.S, do_syscall_trace_leave is called before ret_from_except which is where we handle user preemption and do_notify_resume. So that looks fine.
> > By the way, I enabled CONTEXT_TRACKING_FORCE and PROVE_RCU, so if it > could happen, I think there should be some illegal RCU usage complaints > reported.
Ok.
Thanks.
| |