diff options
Diffstat (limited to 'kernel/trace/trace_kprobe.c')
| -rw-r--r-- | kernel/trace/trace_kprobe.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index 1fad24acd444..ae4147eaebd4 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c @@ -659,7 +659,7 @@ static int create_trace_kprobe(int argc, char **argv)  	char *symbol = NULL, *event = NULL, *group = NULL;  	int maxactive = 0;  	char *arg; -	unsigned long offset = 0; +	long offset = 0;  	void *addr = NULL;  	char buf[MAX_EVENT_NAME_LEN]; @@ -747,7 +747,7 @@ static int create_trace_kprobe(int argc, char **argv)  		symbol = argv[1];  		/* TODO: support .init module functions */  		ret = traceprobe_split_symbol_offset(symbol, &offset); -		if (ret) { +		if (ret || offset < 0 || offset > UINT_MAX) {  			pr_info("Failed to parse either an address or a symbol.\n");  			return ret;  		} | 

