bpf: change prototype for stack_map_get_build_id_offset
authorYonghong Song <yhs@fb.com>
Sun, 29 Apr 2018 05:28:07 +0000 (22:28 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 29 Apr 2018 15:45:53 +0000 (08:45 -0700)
This patch didn't incur functionality change. The function prototype
got changed so that the same function can be reused later.

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/stackmap.c

index 57eeb1234b67e7dabd555e9562b0a0b59cd57abb..04f6ec1679f0a09fff36ff44ec56f9cd128aa0f3 100644 (file)
@@ -262,16 +262,11 @@ out:
        return ret;
 }
 
-static void stack_map_get_build_id_offset(struct bpf_map *map,
-                                         struct stack_map_bucket *bucket,
+static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs,
                                          u64 *ips, u32 trace_nr, bool user)
 {
        int i;
        struct vm_area_struct *vma;
-       struct bpf_stack_build_id *id_offs;
-
-       bucket->nr = trace_nr;
-       id_offs = (struct bpf_stack_build_id *)bucket->data;
 
        /*
         * We cannot do up_read() in nmi context, so build_id lookup is
@@ -361,8 +356,10 @@ BPF_CALL_3(bpf_get_stackid, struct pt_regs *, regs, struct bpf_map *, map,
                        pcpu_freelist_pop(&smap->freelist);
                if (unlikely(!new_bucket))
                        return -ENOMEM;
-               stack_map_get_build_id_offset(map, new_bucket, ips,
-                                             trace_nr, user);
+               new_bucket->nr = trace_nr;
+               stack_map_get_build_id_offset(
+                       (struct bpf_stack_build_id *)new_bucket->data,
+                       ips, trace_nr, user);
                trace_len = trace_nr * sizeof(struct bpf_stack_build_id);
                if (hash_matches && bucket->nr == trace_nr &&
                    memcmp(bucket->data, new_bucket->data, trace_len) == 0) {