]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - include/uapi/linux/bpf.h
bpf: Add name, load_time, uid and map_ids to bpf_prog_info
authorMartin KaFai Lau <kafai@fb.com>
Wed, 27 Sep 2017 21:37:52 +0000 (14:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Sep 2017 05:17:05 +0000 (06:17 +0100)
commitcb4d2b3f03d8eed90be3a194e5b54b734ec4bbe9
tree6560fa3e40c2e1f14a2ac9f9223be63f911f3c6e
parentcf5d74b85ef40c202c76d90959db4d850f301b95
bpf: Add name, load_time, uid and map_ids to bpf_prog_info

The patch adds name and load_time to struct bpf_prog_aux.  They
are also exported to bpf_prog_info.

The bpf_prog's name is passed by userspace during BPF_PROG_LOAD.
The kernel only stores the first (BPF_PROG_NAME_LEN - 1) bytes
and the name stored in the kernel is always \0 terminated.

The kernel will reject name that contains characters other than
isalnum() and '_'.  It will also reject name that is not null
terminated.

The existing 'user->uid' of the bpf_prog_aux is also exported to
the bpf_prog_info as created_by_uid.

The existing 'used_maps' of the bpf_prog_aux is exported to
the newly added members 'nr_map_ids' and 'map_ids' of
the bpf_prog_info.  On the input, nr_map_ids tells how
big the userspace's map_ids buffer is.  On the output,
nr_map_ids tells the exact user_map_cnt and it will only
copy up to the userspace's map_ids buffer is allowed.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@fb.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/bpf.h
include/uapi/linux/bpf.h
kernel/bpf/syscall.c