Messages in this thread | | | Date | Wed, 26 Jan 2011 14:36:43 +0530 | From | Srikar Dronamraju <> | Subject | Re: [RFC] [PATCH 2.6.37-rc5-tip 8/20] 8: uprobes: mmap and fork hooks. |
| |
* Steven Rostedt <rostedt@goodmis.org> [2011-01-25 15:05:26]:
> On Tue, 2011-01-25 at 13:15 +0100, Peter Zijlstra wrote: > > On Thu, 2010-12-16 at 15:28 +0530, Srikar Dronamraju wrote: > > > > +static void search_within_subtree(struct rb_node *n, struct inode *inode, > > > + struct list_head *tmp_list) > > > +{ > > > + struct rb_node *p; > > > + > > > + if (p) > > > + __search_within_subtree(p, inode, tmp_list); > > > + > > > + p = n->rb_right; > > > + if (p) > > > + __search_within_subtree(p, inode, tmp_list); > > > +} > > > > Whee recursion FTW!, you just blew your kernel stack :-) > > > > Since you sort inode first, offset second, I think you can simply look > > for the first matching inode entry and simply rb_next() until you don't > > match. > > Not to mention that p is uninitialized. Did this code ever work?
I think the original patch that I sent had p initialized. I think it got dropped off by Peter when he replied. Please do confirm.
-- Thanks and Regards Srikar
| |