Commit af442399fcf378a21ffe924b182f6d9ee70001ca
Committed by
Greg Kroah-Hartman
1 parent
6ab676e964
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
dynamic_debug: simplify dynamic_debug_init error exit
We dont want errors while parsing ddebug_query to unload ddebug tables, so set success after tables are loaded, and return 0 after query parsing is done. Simplify error handling code since its no longer used for success, and change goto label to out_err to clarify this. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Acked-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 8 additions and 11 deletions Side-by-side Diff
lib/dynamic_debug.c
... | ... | @@ -984,7 +984,7 @@ |
984 | 984 | if (strcmp(modname, iter->modname)) { |
985 | 985 | ret = ddebug_add_module(iter_start, n, modname); |
986 | 986 | if (ret) |
987 | - goto out_free; | |
987 | + goto out_err; | |
988 | 988 | n = 0; |
989 | 989 | modname = iter->modname; |
990 | 990 | iter_start = iter; |
991 | 991 | |
... | ... | @@ -993,9 +993,11 @@ |
993 | 993 | } |
994 | 994 | ret = ddebug_add_module(iter_start, n, modname); |
995 | 995 | if (ret) |
996 | - goto out_free; | |
996 | + goto out_err; | |
997 | 997 | |
998 | - /* ddebug_query boot param got passed -> set it up */ | |
998 | + ddebug_init_success = 1; | |
999 | + | |
1000 | + /* apply ddebug_query boot param, dont unload tables on err */ | |
999 | 1001 | if (ddebug_setup_string[0] != '\0') { |
1000 | 1002 | pr_warn("ddebug_query param name is deprecated," |
1001 | 1003 | " change it to dyndbg\n"); |
... | ... | @@ -1005,9 +1007,6 @@ |
1005 | 1007 | ddebug_setup_string); |
1006 | 1008 | else |
1007 | 1009 | pr_info("%d changes by ddebug_query\n", ret); |
1008 | - | |
1009 | - /* keep tables even on ddebug_query parse error */ | |
1010 | - ret = 0; | |
1011 | 1010 | } |
1012 | 1011 | /* now that ddebug tables are loaded, process all boot args |
1013 | 1012 | * again to find and activate queries given in dyndbg params. |
1014 | 1013 | |
... | ... | @@ -1021,12 +1020,10 @@ |
1021 | 1020 | parse_args("dyndbg params", cmdline, NULL, |
1022 | 1021 | 0, 0, 0, &ddebug_dyndbg_boot_param_cb); |
1023 | 1022 | kfree(cmdline); |
1023 | + return 0; | |
1024 | 1024 | |
1025 | -out_free: | |
1026 | - if (ret) | |
1027 | - ddebug_remove_all_tables(); | |
1028 | - else | |
1029 | - ddebug_init_success = 1; | |
1025 | +out_err: | |
1026 | + ddebug_remove_all_tables(); | |
1030 | 1027 | return 0; |
1031 | 1028 | } |
1032 | 1029 | /* Allow early initialization for boot messages via boot param */ |