提交 9eb85125 编写于 作者: L Li Zefan 提交者: Ingo Molnar

blktrace: pass the right pointer to kfree()

Impact: fix kfree crash with non-standard act_mask string

If passing a string with leading white spaces to strstrip(),
the returned ptr != the original ptr.

This bug was introduced by me.
Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <49DD694C.8020902@cn.fujitsu.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 47788c58
......@@ -1377,12 +1377,12 @@ static int blk_trace_str2mask(const char *str)
{
int i;
int mask = 0;
char *s, *token;
char *buf, *s, *token;
s = kstrdup(str, GFP_KERNEL);
if (s == NULL)
buf = kstrdup(str, GFP_KERNEL);
if (buf == NULL)
return -ENOMEM;
s = strstrip(s);
s = strstrip(buf);
while (1) {
token = strsep(&s, ",");
......@@ -1403,7 +1403,7 @@ static int blk_trace_str2mask(const char *str)
break;
}
}
kfree(s);
kfree(buf);
return mask;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册