Currently the users can not create a config file in the below case. Before:
$ rm -f ~/.perfconfig $ perf config --user report.children=false $ cat ~/.perfconfig cat: /root/.perfconfig: No such file or directory But I think it should work no matter whether a config file exists or not. After: $ rm -f ~/.perfconfig $ perf config --user report.children=false $ cat ~/.perfconfig # this file is auto-generated. [report] children = false NOTE: If not free config_set after perf_config_set__init() failed, we can do that. The config set will be freed at the tail end. (i.e. by perf_config_set__delete() at the end of cmd_config()) Cc: Jiri Olsa <jo...@kernel.org> Cc: Namhyung Kim <namhy...@kernel.org> Signed-off-by: Taeung Song <treeze.tae...@gmail.com> --- tools/perf/util/config.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index 8d724f0..1cc5d80 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -691,10 +691,7 @@ struct perf_config_set *perf_config_set__new(void) if (set) { INIT_LIST_HEAD(&set->sections); - if (perf_config_set__init(set) < 0) { - perf_config_set__delete(set); - set = NULL; - } + perf_config_set__init(set); } return set; -- 2.7.4