[lvc-project] [PATCH 6.1 1/2] bpf: Refactor stack map trace depth calculation into helper function
Fedor Pchelkin
pchelkin at ispras.ru
Tue Jul 28 12:40:03 MSK 2026
On Fri, 17. Jul 16:35, Votokina Victoria wrote:
> From: Victoria Votokina <Victoria.Votokina at kaspersky.com>
>
Строка выше не должна попадать в тело патча, раньше уже сталкивались с
этим. Проблема в том что настоящий почтовый From и то, что в
~/.gitconfig, у вас отличаются порядком имени и фамилии.
> @@ -425,26 +444,22 @@ static long __bpf_get_stack(struct pt_regs *regs, struct task_struct *task,
> goto clear;
> }
>
> - num_elem = size / elem_size;
> - max_depth = num_elem + skip;
> - if (sysctl_perf_event_max_stack < max_depth)
> - max_depth = sysctl_perf_event_max_stack;
> + max_depth = stack_map_calculate_max_depth(size, elem_size, flags);
>
> - if (trace_in)
> + if (trace_in) {
> trace = trace_in;
> - else if (kernel && task)
> + trace->nr = min_t(u32, trace->nr, max_depth);
> + } else if (kernel && task) {
> trace = get_callchain_entry_for_task(task, max_depth);
> - else
> + } else {
> trace = get_perf_callchain(regs, 0, kernel, user, max_depth,
> crosstask, false);
> - if (unlikely(!trace))
> - goto err_fault;
> + }
Апстримный патч не убирает проверку и обработку нулевого trace.
>
> if (trace->nr < skip)
> goto err_fault;
>
> trace_nr = trace->nr - skip;
> - trace_nr = (trace_nr <= num_elem) ? trace_nr : num_elem;
> copy_len = trace_nr * elem_size;
>
> ips = trace->ip + skip;
> --
> 2.43.0
More information about the lvc-project
mailing list