Lines Matching +defs:user +defs:attr

70 static struct bpf_map *stack_map_alloc(union bpf_attr *attr)
72 u32 value_size = attr->value_size;
77 if (attr->map_flags & ~STACK_CREATE_FLAG_MASK)
81 if (attr->max_entries == 0 || attr->key_size != 4 ||
86 if (attr->map_flags & BPF_F_STACK_BUILD_ID) {
97 if (attr->max_entries > 1UL << 31)
100 n_buckets = roundup_pow_of_two(attr->max_entries);
103 smap = bpf_map_area_alloc(cost, bpf_map_attr_numa_node(attr));
107 bpf_map_init_from_attr(&smap->map, attr);
144 u32 trace_nr, bool user, bool may_fault)
153 * fallback is used for kernel stack (!user) on a stackmap with
156 if (!user || !current || !current->mm || irq_work_busy ||
234 bool user = flags & BPF_F_USER_STACK;
266 stack_map_get_build_id_offset(id_offs, trace_nr, user, false /* !may_fault */);
305 bool user = flags & BPF_F_USER_STACK;
307 bool kernel = !user;
317 trace = get_perf_callchain(regs, kernel, user, max_depth,
353 bool kernel, user;
358 if (!(event->attr.sample_type & PERF_SAMPLE_CALLCHAIN))
366 user = flags & BPF_F_USER_STACK;
367 kernel = !user;
383 } else { /* user */
413 bool user = flags & BPF_F_USER_STACK;
415 bool kernel = !user;
429 /* cannot get valid user stack for task without user_mode regs */
430 if (task && user && !user_mode(regs))
433 /* get_perf_callchain does not support crosstask user stack walking
436 if (crosstask && user) {
454 trace = get_perf_callchain(regs, kernel, user, max_depth,
483 stack_map_get_build_id_offset(buf, trace_nr, user, may_fault);
585 bool kernel, user;
589 if (!(event->attr.sample_type & PERF_SAMPLE_CALLCHAIN))
596 user = flags & BPF_F_USER_STACK;
597 kernel = !user;
614 } else { /* user */