mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
arm/kprobes: Remove jprobe test case
Remove the jprobes test case because jprobes is a deprecated feature. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Jon Medhurst <tixy@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mark Brown <broonie@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Wang Nan <wangnan0@huawei.com> Cc: linux-arm-kernel@lists.infradead.org Link: http://lkml.kernel.org/r/150976988105.2012.13618117383683725047.stgit@devbox Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
4650209b16
commit
a443026a48
@ -227,7 +227,6 @@ static bool test_regs_ok;
|
||||
static int test_func_instance;
|
||||
static int pre_handler_called;
|
||||
static int post_handler_called;
|
||||
static int jprobe_func_called;
|
||||
static int kretprobe_handler_called;
|
||||
static int tests_failed;
|
||||
|
||||
@ -370,50 +369,6 @@ static int test_kprobe(long (*func)(long, long))
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __kprobes jprobe_func(long r0, long r1)
|
||||
{
|
||||
jprobe_func_called = test_func_instance;
|
||||
if (r0 == FUNC_ARG1 && r1 == FUNC_ARG2)
|
||||
test_regs_ok = true;
|
||||
jprobe_return();
|
||||
}
|
||||
|
||||
static struct jprobe the_jprobe = {
|
||||
.entry = jprobe_func,
|
||||
};
|
||||
|
||||
static int test_jprobe(long (*func)(long, long))
|
||||
{
|
||||
int ret;
|
||||
|
||||
the_jprobe.kp.addr = (kprobe_opcode_t *)func;
|
||||
ret = register_jprobe(&the_jprobe);
|
||||
if (ret < 0) {
|
||||
pr_err("FAIL: register_jprobe failed with %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = call_test_func(func, true);
|
||||
|
||||
unregister_jprobe(&the_jprobe);
|
||||
the_jprobe.kp.flags = 0; /* Clear disable flag to allow reuse */
|
||||
|
||||
if (!ret)
|
||||
return -EINVAL;
|
||||
if (jprobe_func_called != test_func_instance) {
|
||||
pr_err("FAIL: jprobe handler function not called\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!call_test_func(func, false))
|
||||
return -EINVAL;
|
||||
if (jprobe_func_called == test_func_instance) {
|
||||
pr_err("FAIL: probe called after unregistering\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __kprobes
|
||||
kretprobe_handler(struct kretprobe_instance *ri, struct pt_regs *regs)
|
||||
{
|
||||
@ -468,18 +423,6 @@ static int run_api_tests(long (*func)(long, long))
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
pr_info(" jprobe\n");
|
||||
ret = test_jprobe(func);
|
||||
#if defined(CONFIG_THUMB2_KERNEL) && !defined(MODULE)
|
||||
if (ret == -EINVAL) {
|
||||
pr_err("FAIL: Known longtime bug with jprobe on Thumb kernels\n");
|
||||
tests_failed = ret;
|
||||
ret = 0;
|
||||
}
|
||||
#endif
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
pr_info(" kretprobe\n");
|
||||
ret = test_kretprobe(func);
|
||||
if (ret < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user