From: Wang Nan <wangn...@huawei.com>

Two bugs in 'perf test BPF' are found when testing BPF prologue without
vmlinux:

 # mv /lib/modules/4.3.0-rc4+/build/vmlinux{,.bak}
 # ./perf test BPF
 37: Test BPF filter             :Failed to find the path for kernel: No such 
file or directory
 Ok

Test BPF should fail in this case.

After this patch:

 # ./perf test BPF
 37: Test BPF filter             :Failed to find the path for kernel: No such 
file or directory
  FAILED!
 # mv /lib/modules/4.3.0-rc4+/build/vmlinux{.bak,}
 # ./perf test BPF
 37: Test BPF filter             : Ok

Signed-off-by: Wang Nan <wangn...@huawei.com>
Cc: Alexei Starovoitov <a...@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
Cc: Zefan Li <lize...@huawei.com>
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1447749170-175898-2-git-send-email-wangn...@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/tests/bpf.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/tests/bpf.c b/tools/perf/tests/bpf.c
index d58442294e9e..232043cc232a 100644
--- a/tools/perf/tests/bpf.c
+++ b/tools/perf/tests/bpf.c
@@ -102,8 +102,7 @@ static int do_test(struct bpf_object *obj, int 
(*func)(void),
        err = parse_events_load_bpf_obj(&parse_evlist, &parse_evlist.list, obj);
        if (err || list_empty(&parse_evlist.list)) {
                pr_debug("Failed to add events selected by BPF\n");
-               if (!err)
-                       return TEST_FAIL;
+               return TEST_FAIL;
        }
 
        snprintf(pid, sizeof(pid), "%d", getpid());
@@ -157,8 +156,10 @@ static int do_test(struct bpf_object *obj, int 
(*func)(void),
                }
        }
 
-       if (count != expect)
+       if (count != expect) {
                pr_debug("BPF filter result incorrect\n");
+               goto out_delete_evlist;
+       }
 
        ret = TEST_OK;
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to