Lines Matching defs:parg

1637 static int parse_probe_arg_nested(char **parg, struct traceprobe_parse_context *ctx)
1639 char *arg = *parg;
1680 *parg = arg;
1845 static char *parse_probe_arg_type(char *arg, struct probe_arg *parg,
1870 if (kstrtouint(t2, 0, &parg->count) || !parg->count) {
1875 if (parg->count > MAX_ARRAY_LEN) {
1892 if (parg->count || (t && strcmp(t, "string"))) {
1896 parg->type = find_fetch_type("string", ctx->flags);
1898 parg->type = find_fetch_type(t, ctx->flags);
1900 if (!parg->type) {
1910 struct probe_arg *parg,
1919 if (parg->type->is_string) {
1921 if (!strcmp(parg->type->name, "symstr")) {
1939 if (!strcmp(parg->type->name, "symstr") ||
1942 parg->count) {
1945 * must be kept, and if parg->count != 0, this is an
1959 if (!strcmp(parg->type->name, "ustring") ||
1962 else if (!strcmp(parg->type->name, "symstr"))
1966 code->size = parg->type->size;
1967 parg->dynamic = true;
1970 code->size = parg->type->size;
1973 code->size = parg->type->size;
1981 code->size = parg->type->size;
1990 ret = __parse_bitfield_probe_arg(type, parg->type, &code);
2004 if (parg->count) {
2017 code->param = parg->count;
2029 struct probe_arg *parg,
2049 parg->comm = kstrdup(arg, GFP_KERNEL);
2050 if (!parg->comm)
2053 type = parse_probe_arg_type(arg, parg, ctx);
2063 ret = parse_probe_arg(arg, parg->type, &code, &code[FETCH_INSN_MAX - 1],
2071 parg->type = find_fetch_type_from_btf_type(ctx);
2078 parg->offset = *size;
2079 *size += parg->type->size * (parg->count ?: 1);
2087 if (parg->count) {
2088 len = strlen(parg->type->fmttype) + 6;
2089 parg->fmt = kmalloc(len, GFP_KERNEL);
2090 if (!parg->fmt) {
2094 snprintf(parg->fmt, len, "%s[%d]", parg->type->fmttype,
2095 parg->count);
2098 ret = finalize_fetch_insn(code, parg, type, type ? type - arg : 0, ctx);
2106 parg->code = kzalloc_objs(*code, code - tmp + 1);
2107 if (!parg->code)
2110 memcpy(parg->code, tmp, sizeof(*code) * (code - tmp + 1));
2174 struct probe_arg *parg = &tp->args[i];
2187 parg->name = kmemdup_nul(arg, body - arg, GFP_KERNEL);
2190 parg->name = generate_probe_arg_name(arg, i);
2193 if (!parg->name)
2196 if (!is_good_name(parg->name)) {
2200 if (traceprobe_conflict_field_name(parg->name, tp->args, i)) {
2206 return traceprobe_parse_probe_arg_body(body, &tp->size, parg, ctx);
2466 struct probe_arg *parg;
2492 parg = tp->args + i;
2493 pos += snprintf(buf + pos, LEN_OR_ZERO, " %s=", parg->name);
2494 if (parg->count) {
2496 parg->type->fmt);
2497 for (j = 1; j < parg->count; j++)
2499 parg->type->fmt);
2503 parg->type->fmt);
2509 parg = tp->args + i;
2510 if (parg->count) {
2511 if (parg->type->is_string)
2515 for (j = 0; j < parg->count; j++)
2517 fmt, parg->name, j);
2519 if (parg->type->is_string)
2524 fmt, parg->name);
2588 struct probe_arg *parg = &tp->args[i];
2589 const char *fmt = parg->type->fmttype;
2590 int size = parg->type->size;
2593 if (parg->fmt)
2594 fmt = parg->fmt;
2595 if (parg->count)
2596 size *= parg->count;
2598 name = kstrdup(parg->name, GFP_KERNEL);
2609 offset + parg->offset, size,
2610 parg->type->is_signed,
2959 static void trace_probe_dump_arg(struct seq_file *m, struct probe_arg *parg)
2963 seq_printf(m, "# %s: ", parg->name);
2965 struct fetch_insn *insn = parg->code + i;