syscall.c (1ea0f9120c8ce105ca181b070561df5cbd6bc049) syscall.c (457f44363a8894135c85b7a9afd2bd8196db24ab)
1// SPDX-License-Identifier: GPL-2.0-only
2/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
3 */
4#include <linux/bpf.h>
5#include <linux/bpf_trace.h>
6#include <linux/bpf_lirc.h>
7#include <linux/btf.h>
8#include <linux/syscalls.h>

--- 12 unchanged lines hidden (view full) ---

21#include <linux/idr.h>
22#include <linux/cred.h>
23#include <linux/timekeeping.h>
24#include <linux/ctype.h>
25#include <linux/nospec.h>
26#include <linux/audit.h>
27#include <uapi/linux/btf.h>
28#include <linux/bpf_lsm.h>
1// SPDX-License-Identifier: GPL-2.0-only
2/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
3 */
4#include <linux/bpf.h>
5#include <linux/bpf_trace.h>
6#include <linux/bpf_lirc.h>
7#include <linux/btf.h>
8#include <linux/syscalls.h>

--- 12 unchanged lines hidden (view full) ---

21#include <linux/idr.h>
22#include <linux/cred.h>
23#include <linux/timekeeping.h>
24#include <linux/ctype.h>
25#include <linux/nospec.h>
26#include <linux/audit.h>
27#include <uapi/linux/btf.h>
28#include <linux/bpf_lsm.h>
29#include <linux/poll.h>
29
30#define IS_FD_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PERF_EVENT_ARRAY || \
31 (map)->map_type == BPF_MAP_TYPE_CGROUP_ARRAY || \
32 (map)->map_type == BPF_MAP_TYPE_ARRAY_OF_MAPS)
33#define IS_FD_PROG_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PROG_ARRAY)
34#define IS_FD_HASH(map) ((map)->map_type == BPF_MAP_TYPE_HASH_OF_MAPS)
35#define IS_FD_MAP(map) (IS_FD_ARRAY(map) || IS_FD_PROG_ARRAY(map) || \
36 IS_FD_HASH(map))

--- 620 unchanged lines hidden (view full) ---

657
658 if (vma->vm_flags & VM_MAYWRITE)
659 map->writecnt++;
660out:
661 mutex_unlock(&map->freeze_mutex);
662 return err;
663}
664
30
31#define IS_FD_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PERF_EVENT_ARRAY || \
32 (map)->map_type == BPF_MAP_TYPE_CGROUP_ARRAY || \
33 (map)->map_type == BPF_MAP_TYPE_ARRAY_OF_MAPS)
34#define IS_FD_PROG_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PROG_ARRAY)
35#define IS_FD_HASH(map) ((map)->map_type == BPF_MAP_TYPE_HASH_OF_MAPS)
36#define IS_FD_MAP(map) (IS_FD_ARRAY(map) || IS_FD_PROG_ARRAY(map) || \
37 IS_FD_HASH(map))

--- 620 unchanged lines hidden (view full) ---

658
659 if (vma->vm_flags & VM_MAYWRITE)
660 map->writecnt++;
661out:
662 mutex_unlock(&map->freeze_mutex);
663 return err;
664}
665
666static __poll_t bpf_map_poll(struct file *filp, struct poll_table_struct *pts)
667{
668 struct bpf_map *map = filp->private_data;
669
670 if (map->ops->map_poll)
671 return map->ops->map_poll(map, filp, pts);
672
673 return EPOLLERR;
674}
675
665const struct file_operations bpf_map_fops = {
666#ifdef CONFIG_PROC_FS
667 .show_fdinfo = bpf_map_show_fdinfo,
668#endif
669 .release = bpf_map_release,
670 .read = bpf_dummy_read,
671 .write = bpf_dummy_write,
672 .mmap = bpf_map_mmap,
676const struct file_operations bpf_map_fops = {
677#ifdef CONFIG_PROC_FS
678 .show_fdinfo = bpf_map_show_fdinfo,
679#endif
680 .release = bpf_map_release,
681 .read = bpf_dummy_read,
682 .write = bpf_dummy_write,
683 .mmap = bpf_map_mmap,
684 .poll = bpf_map_poll,
673};
674
675int bpf_map_new_fd(struct bpf_map *map, int flags)
676{
677 int ret;
678
679 ret = security_bpf_map(map, OPEN_FMODE(flags));
680 if (ret < 0)

--- 3515 unchanged lines hidden ---
685};
686
687int bpf_map_new_fd(struct bpf_map *map, int flags)
688{
689 int ret;
690
691 ret = security_bpf_map(map, OPEN_FMODE(flags));
692 if (ret < 0)

--- 3515 unchanged lines hidden ---