On Tue, Sep 20, 2011 at 05:30:40PM +0530, Srikar Dronamraju wrote: > +static void build_probe_list(struct inode *inode, struct list_head *head) > +{ > + struct uprobe *uprobe; > + struct rb_node *n; > + unsigned long flags; > + > + n = uprobes_tree.rb_node; > + spin_lock_irqsave(&uprobes_treelock, flags); Not sure whether grabbing root.rb_node outside the spinlock is safe? If the tree is rotated on another CPU you could catch and out-of-date node? > +static void dec_mm_uprobes_count(struct vm_area_struct *vma, > + struct inode *inode) > +{ > + struct uprobe *uprobe; > + struct rb_node *n; > + unsigned long flags; > + > + n = uprobes_tree.rb_node; > + spin_lock_irqsave(&uprobes_treelock, flags); Same here. Stefan -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>