Fix selftest to clear flags field for reusing probes
because the flags field can be modified by Kprobes.
This also set NULL to kprobe.addr instead of 0.
Signed-off-by: Masami Hiramatsu <[email protected]>
Cc: Ananth N Mavinakayanahalli <[email protected]>
Cc: [email protected]
---
kernel/test_kprobes.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/kernel/test_kprobes.c b/kernel/test_kprobes.c
index 4f10451..f8b11a2 100644
--- a/kernel/test_kprobes.c
+++ b/kernel/test_kprobes.c
@@ -115,7 +115,9 @@ static int test_kprobes(void)
int ret;
struct kprobe *kps[2] = {&kp, &kp2};
- kp.addr = 0; /* addr should be cleard for reusing kprobe. */
+ /* addr and flags should be cleard for reusing kprobe. */
+ kp.addr = NULL;
+ kp.flags = 0;
ret = register_kprobes(kps, 2);
if (ret < 0) {
printk(KERN_ERR "Kprobe smoke test failed: "
@@ -210,7 +212,9 @@ static int test_jprobes(void)
int ret;
struct jprobe *jps[2] = {&jp, &jp2};
- jp.kp.addr = 0; /* addr should be cleard for reusing kprobe. */
+ /* addr and flags should be cleard for reusing kprobe. */
+ jp.kp.addr = NULL;
+ jp.kp.flags = 0;
ret = register_jprobes(jps, 2);
if (ret < 0) {
printk(KERN_ERR "Kprobe smoke test failed: "
@@ -323,7 +327,9 @@ static int test_kretprobes(void)
int ret;
struct kretprobe *rps[2] = {&rp, &rp2};
- rp.kp.addr = 0; /* addr should be cleard for reusing kprobe. */
+ /* addr and flags should be cleard for reusing kprobe. */
+ rp.kp.addr = NULL;
+ rp.kp.flags = 0;
ret = register_kretprobes(rps, 2);
if (ret < 0) {
printk(KERN_ERR "Kprobe smoke test failed: "
On Thu, Aug 05, 2010 at 09:35:11PM +0900, Masami Hiramatsu wrote:
> Fix selftest to clear flags field for reusing probes
> because the flags field can be modified by Kprobes.
> This also set NULL to kprobe.addr instead of 0.
>
> Signed-off-by: Masami Hiramatsu <[email protected]>
> Cc: Ananth N Mavinakayanahalli <[email protected]>
Acked-by: Ananth N Mavinakayanahalli <[email protected]>
> Cc: [email protected]
> ---
>
> kernel/test_kprobes.c | 12 +++++++++---
> 1 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/test_kprobes.c b/kernel/test_kprobes.c
> index 4f10451..f8b11a2 100644
> --- a/kernel/test_kprobes.c
> +++ b/kernel/test_kprobes.c
> @@ -115,7 +115,9 @@ static int test_kprobes(void)
> int ret;
> struct kprobe *kps[2] = {&kp, &kp2};
>
> - kp.addr = 0; /* addr should be cleard for reusing kprobe. */
> + /* addr and flags should be cleard for reusing kprobe. */
> + kp.addr = NULL;
> + kp.flags = 0;
> ret = register_kprobes(kps, 2);
> if (ret < 0) {
> printk(KERN_ERR "Kprobe smoke test failed: "
> @@ -210,7 +212,9 @@ static int test_jprobes(void)
> int ret;
> struct jprobe *jps[2] = {&jp, &jp2};
>
> - jp.kp.addr = 0; /* addr should be cleard for reusing kprobe. */
> + /* addr and flags should be cleard for reusing kprobe. */
> + jp.kp.addr = NULL;
> + jp.kp.flags = 0;
> ret = register_jprobes(jps, 2);
> if (ret < 0) {
> printk(KERN_ERR "Kprobe smoke test failed: "
> @@ -323,7 +327,9 @@ static int test_kretprobes(void)
> int ret;
> struct kretprobe *rps[2] = {&rp, &rp2};
>
> - rp.kp.addr = 0; /* addr should be cleard for reusing kprobe. */
> + /* addr and flags should be cleard for reusing kprobe. */
> + rp.kp.addr = NULL;
> + rp.kp.flags = 0;
> ret = register_kretprobes(rps, 2);
> if (ret < 0) {
> printk(KERN_ERR "Kprobe smoke test failed: "
>