mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
ksym_tracer: Fix validation of length of access type
Don't take newline into account, otherwise: # echo 'pid_max:-w-' > ksym_trace_filter # echo -n 'pid_max:rw-' > ksym_trace_filter bash: echo: write error: Invalid argument Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: "K.Prasad" <prasad@linux.vnet.ibm.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Steven Rostedt <rostedt@goodmis.org> LKML-Reference: <4A52E2EB.9070503@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
f088e54712
commit
92cf9f8f7e
@ -158,21 +158,21 @@ static int ksym_trace_get_access_type(char *str)
|
||||
static int parse_ksym_trace_str(char *input_string, char **ksymname,
|
||||
unsigned long *addr)
|
||||
{
|
||||
char *delimiter = ":";
|
||||
int ret;
|
||||
|
||||
ret = -EINVAL;
|
||||
*ksymname = strsep(&input_string, delimiter);
|
||||
strstrip(input_string);
|
||||
|
||||
*ksymname = strsep(&input_string, ":");
|
||||
*addr = kallsyms_lookup_name(*ksymname);
|
||||
|
||||
/* Check for malformed request: (2), (1) and (5) */
|
||||
if ((!input_string) ||
|
||||
(strlen(input_string) != (KSYM_TRACER_OP_LEN + 1)) ||
|
||||
(*addr == 0))
|
||||
goto return_code;
|
||||
(strlen(input_string) != KSYM_TRACER_OP_LEN) ||
|
||||
(*addr == 0))
|
||||
return -EINVAL;;
|
||||
|
||||
ret = ksym_trace_get_access_type(input_string);
|
||||
|
||||
return_code:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user