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 --- |