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

Stephen Wilson wilsons@start.ca
Mon Mar 14 18:10:00 GMT 2011


On Mon, Mar 14, 2011 at 07:05:22PM +0530, Srikar Dronamraju wrote:
>  static int install_uprobe(struct mm_struct *mm, struct uprobe *uprobe)
>  {
> -	int ret = 0;
> +	struct task_struct *tsk;
> +	int ret = -EINVAL;
>  
> -	/*TODO: install breakpoint */
> -	if (!ret)
> +	get_task_struct(mm->owner);
> +	tsk = mm->owner;
> +	if (!tsk)
> +		return ret;

I think you need to check that tsk != NULL before calling
get_task_struct()...


>  static int remove_uprobe(struct mm_struct *mm, struct uprobe *uprobe)
>  {
> -	int ret = 0;
> +	struct task_struct *tsk;
> +	int ret;
> +
> +	get_task_struct(mm->owner);
> +	tsk = mm->owner;
> +	if (!tsk)
> +		return -EINVAL;

And here as well.

-- 
steve



More information about the Systemtap mailing list