/* There can be several possible malformed requests and we attempt to capture all of them. We enumerate some of the rules */
static int parse_ksym_trace_str(char *input_string, char **ksymname, unsigned long *addr)
/* There can be several possible malformed requests and we attempt to capture all of them. We enumerate some of the rules */
static int parse_ksym_trace_str(char *input_string, char **ksymname, unsigned long *addr)
{
	int ret;
	*ksymname = strsep(&input_string, ":");
	*addr = kallsyms_lookup_name(*ksymname);
	if ((!input_string) ||
	    (strlen(input_string) != KSYM_TRACER_OP_LEN) ||
	    (*addr == 0))
		return -EINVAL;;
	ret = ksym_trace_get_access_type(input_string);
	return ret;
}