Message ID | 20201123184334.1777186-1-jim.cromie@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | dyndbg: fix use before null check | expand |
On Mon, Nov 23, 2020 at 11:43:34AM -0700, Jim Cromie wrote: > commit a2d375eda771 ("dyndbg: refine export, rename to dynamic_debug_exec_queries()") > > Above commit copies a string before checking for null pointer, fix > this, and add a pr_err. Also trim comment, and add return val info. The way you list the above commit is very odd, and hard to read and understand. How about something like: In commit a2d375eda771 ("dyndbg: refine export, rename to dynamic_debug_exec_queries()"), a string is copied before checking.... Also, when you say "also" in a patch, that is a HUGE flag that the commit needs to be broken up into multiple patches. Put the bugfix first, and then fix up the comment later, if it is not being changed for this fix. Also: > Fixes: a2d375eda771 You need the full information here, please write: Fixes: a2d375eda771 ("dyndbg: refine export, rename to dynamic_debug_exec_queries()") Can you fix all of that up and resend? thanks, greg k-h
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index bd7b3aaa93c3..711a9def8c83 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -553,17 +553,23 @@ static int ddebug_exec_queries(char *query, const char *modname) * @query: query-string described in admin-guide/dynamic-debug-howto * @modname: string containing module name, usually &module.mod_name * - * This uses the >/proc/dynamic_debug/control reader, allowing module - * authors to modify their dynamic-debug callsites. The modname is - * canonically struct module.mod_name, but can also be null or a - * module-wildcard, for example: "drm*". + * This uses the >control reader, allowing module authors to modify + * their dynamic-debug callsites. The modname is canonically struct + * module.mod_name, but can also be null or a module-wildcard, for + * example: "drm*". + * Returns <0 on error, >=0 for callsites changed */ int dynamic_debug_exec_queries(const char *query, const char *modname) { int rc; - char *qry = kstrndup(query, PAGE_SIZE, GFP_KERNEL); + char *qry; /* writable copy of query */ - if (!query) + if (!query) { + pr_err("non-null query/command string expected\n"); + return -EINVAL; + } + qry = kstrndup(query, PAGE_SIZE, GFP_KERNEL); + if (!qry) return -ENOMEM; rc = ddebug_exec_queries(qry, modname);
commit a2d375eda771 ("dyndbg: refine export, rename to dynamic_debug_exec_queries()") Above commit copies a string before checking for null pointer, fix this, and add a pr_err. Also trim comment, and add return val info. Fixes: a2d375eda771 Cc: stable@vger.kernel.org Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- lib/dynamic_debug.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)