uprobes: Change prepare_uretprobe() to use uprobe_warn()
Turn the last pr_warn() in uprobes.c into uprobe_warn(). While at it: - s/kzalloc/kmalloc, we initialize every member of 'ri' - remove the pointless comment above the obvious code Tested-by: Pratyush Anand <panand@redhat.com> Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Acked-by: Anton Arapov <arapov@gmail.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20150721134010.GA4752@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
0b5256c7f1
commit
6c58d0e4cc
|
@ -1541,9 +1541,9 @@ static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ri = kzalloc(sizeof(struct return_instance), GFP_KERNEL);
|
ri = kmalloc(sizeof(struct return_instance), GFP_KERNEL);
|
||||||
if (!ri)
|
if (!ri)
|
||||||
goto fail;
|
return;
|
||||||
|
|
||||||
trampoline_vaddr = get_trampoline_vaddr();
|
trampoline_vaddr = get_trampoline_vaddr();
|
||||||
orig_ret_vaddr = arch_uretprobe_hijack_return_addr(trampoline_vaddr, regs);
|
orig_ret_vaddr = arch_uretprobe_hijack_return_addr(trampoline_vaddr, regs);
|
||||||
|
@ -1561,8 +1561,7 @@ static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs)
|
||||||
* This situation is not possible. Likely we have an
|
* This situation is not possible. Likely we have an
|
||||||
* attack from user-space.
|
* attack from user-space.
|
||||||
*/
|
*/
|
||||||
pr_warn("uprobe: unable to set uretprobe pid/tgid=%d/%d\n",
|
uprobe_warn(current, "handle tail call");
|
||||||
current->pid, current->tgid);
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1576,13 +1575,10 @@ static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs)
|
||||||
ri->chained = chained;
|
ri->chained = chained;
|
||||||
|
|
||||||
utask->depth++;
|
utask->depth++;
|
||||||
|
|
||||||
/* add instance to the stack */
|
|
||||||
ri->next = utask->return_instances;
|
ri->next = utask->return_instances;
|
||||||
utask->return_instances = ri;
|
utask->return_instances = ri;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
kfree(ri);
|
kfree(ri);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue