• Home
  • Raw
  • Download

Lines Matching refs:parg

567 		struct probe_arg *parg, unsigned int flags, int offset)  in traceprobe_parse_probe_arg_body()  argument
589 parg->comm = kstrdup(arg, GFP_KERNEL); in traceprobe_parse_probe_arg_body()
590 if (!parg->comm) in traceprobe_parse_probe_arg_body()
612 if (kstrtouint(t2, 0, &parg->count) || !parg->count) { in traceprobe_parse_probe_arg_body()
617 if (parg->count > MAX_ARRAY_LEN) { in traceprobe_parse_probe_arg_body()
633 if (parg->count || (t && strcmp(t, "string"))) in traceprobe_parse_probe_arg_body()
635 parg->type = find_fetch_type("string"); in traceprobe_parse_probe_arg_body()
637 parg->type = find_fetch_type(t); in traceprobe_parse_probe_arg_body()
638 if (!parg->type) { in traceprobe_parse_probe_arg_body()
642 parg->offset = *size; in traceprobe_parse_probe_arg_body()
643 *size += parg->type->size * (parg->count ?: 1); in traceprobe_parse_probe_arg_body()
646 if (parg->count) { in traceprobe_parse_probe_arg_body()
647 len = strlen(parg->type->fmttype) + 6; in traceprobe_parse_probe_arg_body()
648 parg->fmt = kmalloc(len, GFP_KERNEL); in traceprobe_parse_probe_arg_body()
649 if (!parg->fmt) in traceprobe_parse_probe_arg_body()
651 snprintf(parg->fmt, len, "%s[%d]", parg->type->fmttype, in traceprobe_parse_probe_arg_body()
652 parg->count); in traceprobe_parse_probe_arg_body()
660 ret = parse_probe_arg(arg, parg->type, &code, &code[FETCH_INSN_MAX - 1], in traceprobe_parse_probe_arg_body()
667 if (parg->type->is_string) { in traceprobe_parse_probe_arg_body()
668 if (!strcmp(parg->type->name, "symstr")) { in traceprobe_parse_probe_arg_body()
685 if (!strcmp(parg->type->name, "symstr") || in traceprobe_parse_probe_arg_body()
688 parg->count) { in traceprobe_parse_probe_arg_body()
704 if (!strcmp(parg->type->name, "ustring") || in traceprobe_parse_probe_arg_body()
707 else if (!strcmp(parg->type->name, "symstr")) in traceprobe_parse_probe_arg_body()
711 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
712 parg->dynamic = true; in traceprobe_parse_probe_arg_body()
715 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
718 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
726 code->size = parg->type->size; in traceprobe_parse_probe_arg_body()
731 ret = __parse_bitfield_probe_arg(t, parg->type, &code); in traceprobe_parse_probe_arg_body()
739 if (parg->count) { in traceprobe_parse_probe_arg_body()
753 code->param = parg->count; in traceprobe_parse_probe_arg_body()
760 parg->code = kcalloc(code - tmp + 1, sizeof(*code), GFP_KERNEL); in traceprobe_parse_probe_arg_body()
761 if (!parg->code) in traceprobe_parse_probe_arg_body()
764 memcpy(parg->code, tmp, sizeof(*code) * (code - tmp + 1)); in traceprobe_parse_probe_arg_body()
800 struct probe_arg *parg = &tp->args[i]; in traceprobe_parse_probe_arg() local
815 parg->name = kmemdup_nul(arg, body - arg, GFP_KERNEL); in traceprobe_parse_probe_arg()
819 parg->name = kasprintf(GFP_KERNEL, "arg%d", i + 1); in traceprobe_parse_probe_arg()
822 if (!parg->name) in traceprobe_parse_probe_arg()
825 if (!is_good_name(parg->name)) { in traceprobe_parse_probe_arg()
829 if (traceprobe_conflict_field_name(parg->name, tp->args, i)) { in traceprobe_parse_probe_arg()
834 return traceprobe_parse_probe_arg_body(body, &tp->size, parg, flags, in traceprobe_parse_probe_arg()
893 struct probe_arg *parg; in __set_print_fmt() local
919 parg = tp->args + i; in __set_print_fmt()
920 pos += snprintf(buf + pos, LEN_OR_ZERO, " %s=", parg->name); in __set_print_fmt()
921 if (parg->count) { in __set_print_fmt()
923 parg->type->fmt); in __set_print_fmt()
924 for (j = 1; j < parg->count; j++) in __set_print_fmt()
926 parg->type->fmt); in __set_print_fmt()
930 parg->type->fmt); in __set_print_fmt()
936 parg = tp->args + i; in __set_print_fmt()
937 if (parg->count) { in __set_print_fmt()
938 if (parg->type->is_string) in __set_print_fmt()
942 for (j = 0; j < parg->count; j++) in __set_print_fmt()
944 fmt, parg->name, j); in __set_print_fmt()
946 if (parg->type->is_string) in __set_print_fmt()
951 fmt, parg->name); in __set_print_fmt()
986 struct probe_arg *parg = &tp->args[i]; in traceprobe_define_arg_fields() local
987 const char *fmt = parg->type->fmttype; in traceprobe_define_arg_fields()
988 int size = parg->type->size; in traceprobe_define_arg_fields()
990 if (parg->fmt) in traceprobe_define_arg_fields()
991 fmt = parg->fmt; in traceprobe_define_arg_fields()
992 if (parg->count) in traceprobe_define_arg_fields()
993 size *= parg->count; in traceprobe_define_arg_fields()
994 ret = trace_define_field(event_call, fmt, parg->name, in traceprobe_define_arg_fields()
995 offset + parg->offset, size, in traceprobe_define_arg_fields()
996 parg->type->is_signed, in traceprobe_define_arg_fields()