This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2 2.6.38-rc8-tip 7/20] 7: uprobes: store/restore original instruction.


On Tue, Mar 15, 2011 at 09:47:59AM -0400, Steven Rostedt wrote:
> > 	rcu_read_lock()
> > 	if (mm->owner) {
> > 		get_task_struct(mm->owner)
> > 		tsk = mm->owner;
> > 	}
> > 	rcu_read_unlock()
> > 	if (!tsk)
> > 		return ret;
> > 
> > Agree?
> 
> Or:
> 
> 	rcu_read_lock();
> 	tsk = mm->owner;
> 	if (tsk)
> 		get_task_struct(tsk);
> 	rcu_read_unlock();
> 	if (!tsk)
> 		return ret;
> 
> Probably looks cleaner.

Yes, plus we should do "tsk = rcu_dereference(mm->owner);" and wrap the
whole thing in a static uprobes_get_mm_owner() or similar.


-- 
steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]