Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9eb85125 authored by Li Zefan's avatar Li Zefan Committed by Ingo Molnar
Browse files

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: default avatarLi 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: default avatarIngo Molnar <mingo@elte.hu>
parent 47788c58
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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;
}