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: Review patches of user space kprobe


> >>+ */
> >>+static struct kprobe *get_uprobe_at(struct inode *inode, unsigned
> long offset)
> >>+{
> >>+	struct hlist_head *head;
> >>+	struct hlist_node *node;
> >>+	struct kprobe *p;
> >>+
> >>+	head = &kprobe_table[hash_long((unsigned long)inode * offset,
> >>+				       KPROBE_HASH_BITS)];
> >>+	hlist_for_each_entry(p, node, head, hlist) {
> >>+		if (p->pre_handler == aggr_pre_handler)
> >>+			return p;
> >>+		else {
> >>+			struct uprobe *user = container_of(p,
> >>+							struct uprobe,
> kp);
> Kprobe and uprobe share the same hash table. Does p here always point to
> uprobe?

Check can be made before accessig uprobe.
if (!kernel_text_address((unsigned long)p->addr))

Thanks
Prasanna
-- 
Prasanna S Panchamukhi
Linux Technology Center
India Software Labs, IBM Bangalore
Email: prasanna@in.ibm.com
Ph: 91-80-25044636


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