Re: [PATCH AUTOSEL 5.7 52/60] dyndbg: prefer declarative init in caller, to memset in callee

From: Sasha Levin
Date: Sat Aug 15 2020 - 19:07:31 EST


On Tue, Aug 11, 2020 at 07:13:32AM +0200, Greg Kroah-Hartman wrote:
On Mon, Aug 10, 2020 at 03:10:20PM -0400, Sasha Levin wrote:
From: Jim Cromie <jim.cromie@xxxxxxxxx>

[ Upstream commit 9c9d0acbe2793315fa6945a19685ad2a51fb281b ]

ddebug_exec_query declares an auto var, and passes it to
ddebug_parse_query, which memsets it before using it. Drop that
memset, instead initialize the variable in the caller; let the
compiler decide how to do it.

Acked-by: <jbaron@xxxxxxxxxx>
Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
Link: https://lore.kernel.org/r/20200719231058.1586423-10-jim.cromie@xxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
lib/dynamic_debug.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index e3755d1f74bd2..4f0bd560478f7 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -327,7 +327,6 @@ static int ddebug_parse_query(char *words[], int nwords,
pr_err("expecting pairs of match-spec <value>\n");
return -EINVAL;
}
- memset(query, 0, sizeof(*query));

if (modname)
/* support $modname.dyndbg=<multiple queries> */
@@ -445,7 +444,7 @@ static int ddebug_parse_flags(const char *str, unsigned int *flagsp,
static int ddebug_exec_query(char *query_string, const char *modname)
{
unsigned int flags = 0, mask = 0;
- struct ddebug_query query;
+ struct ddebug_query query = {};
#define MAXWORDS 9
int nwords, nfound;
char *words[MAXWORDS];
--
2.25.1


There's no need for this in stable kernels, please drop it from
everywhere.

Dropped, thanks!

--
Thanks,
Sasha