Lines Matching refs:parg

544 		struct probe_arg *parg, unsigned int flags, int offset)  in traceprobe_parse_probe_arg_body()  argument
559 parg->comm = kstrdup(arg, GFP_KERNEL); in traceprobe_parse_probe_arg_body()
560 if (!parg->comm) in traceprobe_parse_probe_arg_body()
581 if (kstrtouint(t2, 0, &parg->count) || !parg->count) { in traceprobe_parse_probe_arg_body()
586 if (parg->count > MAX_ARRAY_LEN) { in traceprobe_parse_probe_arg_body()
600 if (parg->count || (t && strcmp(t, "string"))) in traceprobe_parse_probe_arg_body()
602 parg->type = find_fetch_type("string"); in traceprobe_parse_probe_arg_body()
604 parg->type = find_fetch_type(t); in traceprobe_parse_probe_arg_body()
605 if (!parg->type) { in traceprobe_parse_probe_arg_body()
609 parg->offset = *size; in traceprobe_parse_probe_arg_body()
610 *size += parg->type->size * (parg->count ?: 1); in traceprobe_parse_probe_arg_body()
612 if (parg->count) { in traceprobe_parse_probe_arg_body()
613 len = strlen(parg->type->fmttype) + 6; in traceprobe_parse_probe_arg_body()
614 parg->fmt = kmalloc(len, GFP_KERNEL); in traceprobe_parse_probe_arg_body()
615 if (!parg->fmt) in traceprobe_parse_probe_arg_body()
617 snprintf(parg->fmt, len, "%s[%d]", parg->type->fmttype, in traceprobe_parse_probe_arg_body()
618 parg->count); in traceprobe_parse_probe_arg_body()
626 ret = parse_probe_arg(arg, parg->type, &code, &code[FETCH_INSN_MAX - 1], in traceprobe_parse_probe_arg_body()
632 if (!strcmp(parg->type->name, "string") || in traceprobe_parse_probe_arg_body()
633 !strcmp(parg->type->name, "ustring")) { in traceprobe_parse_probe_arg_body()
643 code->op == FETCH_OP_DATA) || parg->count) { in traceprobe_parse_probe_arg_body()
658 if (!strcmp(parg->type->name, "ustring") || in traceprobe_parse_probe_arg_body()
663 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
664 parg->dynamic = true; in traceprobe_parse_probe_arg_body()
667 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
670 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
679 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
684 ret = __parse_bitfield_probe_arg(t, parg->type, &code); in traceprobe_parse_probe_arg_body()
691 if (parg->count) { in traceprobe_parse_probe_arg_body()
707 code->param = parg->count; in traceprobe_parse_probe_arg_body()
713 parg->code = kcalloc(code - tmp + 1, sizeof(*code), GFP_KERNEL); in traceprobe_parse_probe_arg_body()
714 if (!parg->code) in traceprobe_parse_probe_arg_body()
717 memcpy(parg->code, tmp, sizeof(*code) * (code - tmp + 1)); in traceprobe_parse_probe_arg_body()
751 struct probe_arg *parg = &tp->args[i]; in traceprobe_parse_probe_arg() local
766 parg->name = kmemdup_nul(arg, body - arg, GFP_KERNEL); in traceprobe_parse_probe_arg()
770 parg->name = kasprintf(GFP_KERNEL, "arg%d", i + 1); in traceprobe_parse_probe_arg()
773 if (!parg->name) in traceprobe_parse_probe_arg()
776 if (!is_good_name(parg->name)) { in traceprobe_parse_probe_arg()
780 if (traceprobe_conflict_field_name(parg->name, tp->args, i)) { in traceprobe_parse_probe_arg()
785 return traceprobe_parse_probe_arg_body(body, &tp->size, parg, flags, in traceprobe_parse_probe_arg()
844 struct probe_arg *parg; in __set_print_fmt() local
860 parg = tp->args + i; in __set_print_fmt()
861 pos += snprintf(buf + pos, LEN_OR_ZERO, " %s=", parg->name); in __set_print_fmt()
862 if (parg->count) { in __set_print_fmt()
864 parg->type->fmt); in __set_print_fmt()
865 for (j = 1; j < parg->count; j++) in __set_print_fmt()
867 parg->type->fmt); in __set_print_fmt()
871 parg->type->fmt); in __set_print_fmt()
877 parg = tp->args + i; in __set_print_fmt()
878 if (parg->count) { in __set_print_fmt()
879 if ((strcmp(parg->type->name, "string") == 0) || in __set_print_fmt()
880 (strcmp(parg->type->name, "ustring") == 0)) in __set_print_fmt()
884 for (j = 0; j < parg->count; j++) in __set_print_fmt()
886 fmt, parg->name, j); in __set_print_fmt()
888 if ((strcmp(parg->type->name, "string") == 0) || in __set_print_fmt()
889 (strcmp(parg->type->name, "ustring") == 0)) in __set_print_fmt()
894 fmt, parg->name); in __set_print_fmt()
929 struct probe_arg *parg = &tp->args[i]; in traceprobe_define_arg_fields() local
930 const char *fmt = parg->type->fmttype; in traceprobe_define_arg_fields()
931 int size = parg->type->size; in traceprobe_define_arg_fields()
933 if (parg->fmt) in traceprobe_define_arg_fields()
934 fmt = parg->fmt; in traceprobe_define_arg_fields()
935 if (parg->count) in traceprobe_define_arg_fields()
936 size *= parg->count; in traceprobe_define_arg_fields()
937 ret = trace_define_field(event_call, fmt, parg->name, in traceprobe_define_arg_fields()
938 offset + parg->offset, size, in traceprobe_define_arg_fields()
939 parg->type->is_signed, in traceprobe_define_arg_fields()