mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 02:05:33 +00:00
kprobes: Remove unneeded goto
Remove unneeded gotos. Since the labels referred by these gotos have only one reference for each, we can replace those gotos with the referred code. Link: https://lore.kernel.org/all/173371211203.480397.13988907319659165160.stgit@devnote2/ Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
This commit is contained in:
parent
a35fb2bcae
commit
5e5b8b4933
@ -1071,20 +1071,18 @@ static int __arm_kprobe_ftrace(struct kprobe *p, struct ftrace_ops *ops,
|
||||
|
||||
if (*cnt == 0) {
|
||||
ret = register_ftrace_function(ops);
|
||||
if (WARN(ret < 0, "Failed to register kprobe-ftrace (error %d)\n", ret))
|
||||
goto err_ftrace;
|
||||
if (WARN(ret < 0, "Failed to register kprobe-ftrace (error %d)\n", ret)) {
|
||||
/*
|
||||
* At this point, sinec ops is not registered, we should be sefe from
|
||||
* registering empty filter.
|
||||
*/
|
||||
ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
(*cnt)++;
|
||||
return ret;
|
||||
|
||||
err_ftrace:
|
||||
/*
|
||||
* At this point, sinec ops is not registered, we should be sefe from
|
||||
* registering empty filter.
|
||||
*/
|
||||
ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int arm_kprobe_ftrace(struct kprobe *p)
|
||||
@ -1428,7 +1426,7 @@ _kprobe_addr(kprobe_opcode_t *addr, const char *symbol_name,
|
||||
unsigned long offset, bool *on_func_entry)
|
||||
{
|
||||
if ((symbol_name && addr) || (!symbol_name && !addr))
|
||||
goto invalid;
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
if (symbol_name) {
|
||||
/*
|
||||
@ -1458,11 +1456,10 @@ _kprobe_addr(kprobe_opcode_t *addr, const char *symbol_name,
|
||||
* at the start of the function.
|
||||
*/
|
||||
addr = arch_adjust_kprobe_addr((unsigned long)addr, offset, on_func_entry);
|
||||
if (addr)
|
||||
return addr;
|
||||
if (!addr)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
invalid:
|
||||
return ERR_PTR(-EINVAL);
|
||||
return addr;
|
||||
}
|
||||
|
||||
static kprobe_opcode_t *kprobe_addr(struct kprobe *p)
|
||||
@ -1486,15 +1483,15 @@ static struct kprobe *__get_valid_kprobe(struct kprobe *p)
|
||||
if (unlikely(!ap))
|
||||
return NULL;
|
||||
|
||||
if (p != ap) {
|
||||
list_for_each_entry(list_p, &ap->list, list)
|
||||
if (list_p == p)
|
||||
/* kprobe p is a valid probe */
|
||||
goto valid;
|
||||
return NULL;
|
||||
}
|
||||
valid:
|
||||
return ap;
|
||||
if (p == ap)
|
||||
return ap;
|
||||
|
||||
list_for_each_entry(list_p, &ap->list, list)
|
||||
if (list_p == p)
|
||||
/* kprobe p is a valid probe */
|
||||
return ap;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user