| From | jim.cromie@gmail ... | Subject | [PATCH 12/26] dynamic_debug: dont kill entire facility on error parsing ddebug_query | Date | Fri, 7 Oct 2011 14:33:18 -0600 |
| |
From: Jim Cromie <jim.cromie@gmail.com>
Currently, a parsing error on ddebug_query results in effective loss of the facility; all tables are removed, and the init-call returns error. This is way too severe, especially when an innocent quoting error can be the cause:
Kernel command line: ... ddebug_query='file char_dev.c +p' yields:
ddebug_exec_queries: query 0: "'file" query before parse <'file> ddebug_exec_queries: processed 1 queries, with 1 errs Invalid ddebug boot param 'file
Fix this by zeroing return-code for query parse errors before returning from dynamic_debug_init().
Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- lib/dynamic_debug.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 0676de0..3f37b5e 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -922,12 +922,10 @@ static int __init dynamic_debug_init(void) pr_info("ddebug initializing with string \"%s\"", ddebug_setup_string); ret = ddebug_exec_queries(ddebug_setup_string); - if (ret) - pr_warn("Invalid ddebug boot param %s", - ddebug_setup_string); - else - pr_info("ddebug initialized with string %s", - ddebug_setup_string); + if (ret) { + ret = 0; /* make this non-fatal */ + pr_warn("invalid ddebug_query\n"); + } } out_free: -- 1.7.4.4
|