On Tue, Dec 15, 2015 at 08:09:26AM +0000, Wang Nan wrote:
> Commit 71d6de64feddd4b455555326fba2111b3006d9e0 ('perf test: Fix hist
> testcases when kptr_restrict is on') solves a double free problem when
> 'perf test hist' calling setup_fake_machine(). However, the result is
> still incorrect. For example:
> 
>  $ ./perf test -v 'filtering hist entries'
>  25: Test filtering hist entries                              :
>  --- start ---
>  test child forked, pid 4186
>  Cannot create kernel maps
>  test child finished with 0
>  ---- end ----
>  Test filtering hist entries: Ok
> 
> In this case the body of this test is not get executed at all, but the
> result is 'Ok'.
> 
> Actually, in setup_fake_machine() there's no need to create real kernel
> maps. What we want is the fake maps. This patch removes the
> machine__create_kernel_maps() in setup_fake_machine(), so it won't be
> affected by kptr_restrict setting.
> 
> Test result:
> 
>  $ cat /proc/sys/kernel/kptr_restrict
>  1
>  $ ~/perf test -v hist
>  15: Test matching and linking multiple hists                 :
>  --- start ---
>  test child forked, pid 24031
>  test child finished with 0
>  ---- end ----
>  Test matching and linking multiple hists: Ok
>  [SNIP]
> 
> Signed-off-by: Wang Nan <wangn...@huawei.com>
> Suggested-by: Namhyung Kim <namhy...@kernel.org>
> Cc: Arnaldo Carvalho de Melo <a...@redhat.com>
> Cc: Jiri Olsa <jo...@kernel.org>
> Cc: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>

Acked-by: Namhyung Kim <namhy...@kernel.org>

Thanks,
Namhyung


> ---
>  tools/perf/tests/hists_common.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/tools/perf/tests/hists_common.c b/tools/perf/tests/hists_common.c
> index bcfd081..071a8b5 100644
> --- a/tools/perf/tests/hists_common.c
> +++ b/tools/perf/tests/hists_common.c
> @@ -87,11 +87,6 @@ struct machine *setup_fake_machine(struct machines 
> *machines)
>               return NULL;
>       }
>  
> -     if (machine__create_kernel_maps(machine)) {
> -             pr_debug("Cannot create kernel maps\n");
> -             return NULL;
> -     }
> -
>       for (i = 0; i < ARRAY_SIZE(fake_threads); i++) {
>               struct thread *thread;
>  
> -- 
> 1.8.3.4
> 
--
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