Skip to contentSkip to conversation

arm: kprobes: Remove jprobe test case

PATCH New Masami Hiramatsu 2 participants 5 messages Nov 4, 2017 – Nov 7, 2017 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

cover arm: kprobes: Remove jprobe test case

Hi,

This series fixes a typo and remove jprobe test case because jprobe is deprecated feature. The typo is related to jprobe so need to be fixed in this series.

Thank you,

---

Masami Hiramatsu (2):
arm: kprobes: Fix kretprobe test to check correct counter
arm: kprobes: Remove jprobe test case

 arch/arm/probes/kprobes/test-core.c |   59 +----------------------------------
 1 file changed, 1 insertion(+), 58 deletions(-)

--
Masami Hiramatsu (Linaro) <[email protected]>

#1 lore raw

PATCH 1/2 arm: kprobes: Fix kretprobe test to check correct counter

test_kretprobe() uses jprobe_func_called at the last test, but it must check kretprobe_handler_called.

---
 arch/arm/probes/kprobes/test-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/probes/kprobes/test-core.c +1 -1
index 1c98a87786ca..9c3ceba69015 100644
@@ -451,7 +451,7 @@ static int test_kretprobe(long (*func)(long, long))
 	}
 	if (!call_test_func(func, false))
 		return -EINVAL;
-	if (jprobe_func_called == test_func_instance) {
+	if (kretprobe_handler_called == test_func_instance) {
 		pr_err("FAIL: kretprobe called after unregistering\n");
 		return -EINVAL;
 	}
#2 lore raw

[tip:perf/kprobes] arm/kprobes: Fix kretprobe test to check correct counter

arm/kprobes: Fix kretprobe test to check correct counter
Commit-ID:  4650209b166789182657c8eb0612cecd5b54d591
Gitweb:     https://git.kernel.org/tip/4650209b166789182657c8eb0612cecd5b54d591
Author:     Masami Hiramatsu <[email protected]>
AuthorDate: Sat, 4 Nov 2017 13:30:52 +0900
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 7 Nov 2017 11:25:14 +0100

arm/kprobes: Fix kretprobe test to check correct counter

test_kretprobe() uses jprobe_func_called at the last test, but it must check kretprobe_handler_called.

---
 arch/arm/probes/kprobes/test-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/probes/kprobes/test-core.c +1 -1
index 1c98a87..9c3ceba 100644
@@ -451,7 +451,7 @@ static int test_kretprobe(long (*func)(long, long))
 	}
 	if (!call_test_func(func, false))
 		return -EINVAL;
-	if (jprobe_func_called == test_func_instance) {
+	if (kretprobe_handler_called == test_func_instance) {
 		pr_err("FAIL: kretprobe called after unregistering\n");
 		return -EINVAL;
 	}
#3 lore raw

PATCH 2/2 arm: kprobes: Remove jprobe test case

In reply to Masami Hiramatsu

Remove jprobe test case because jprobe is deprecated feature. We must not use it.

---
 arch/arm/probes/kprobes/test-core.c |   57 -----------------------------------
 1 file changed, 57 deletions(-)
arch/arm/probes/kprobes/test-core.c +0 -57
index 9c3ceba69015..9ed0129bed3c 100644
@@ -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)
#4 lore raw

[tip:perf/kprobes] arm/kprobes: Remove jprobe test case

arm/kprobes: Remove jprobe test case
Commit-ID:  a443026a48ad7a8b1b966b00fb5d7111b81a219b
Gitweb:     https://git.kernel.org/tip/a443026a48ad7a8b1b966b00fb5d7111b81a219b
Author:     Masami Hiramatsu <[email protected]>
AuthorDate: Sat, 4 Nov 2017 13:31:21 +0900
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 7 Nov 2017 11:25:14 +0100

arm/kprobes: Remove jprobe test case

Remove the jprobes test case because jprobes is a deprecated feature.

---
 arch/arm/probes/kprobes/test-core.c | 57 -------------------------------------
 1 file changed, 57 deletions(-)
arch/arm/probes/kprobes/test-core.c +0 -57
index 9c3ceba..9ed0129 100644
@@ -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)