diff options
Diffstat (limited to 'kernel/bpf/inode.c')
| -rw-r--r-- | kernel/bpf/inode.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index 1576ff331ee4..d2de2abec35b 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -543,11 +543,11 @@ int bpf_obj_get_user(const char __user *pathname, int flags)  		return PTR_ERR(raw);  	if (type == BPF_TYPE_PROG) -		ret = bpf_prog_new_fd(raw); +		ret = (f_flags != O_RDWR) ? -EINVAL : bpf_prog_new_fd(raw);  	else if (type == BPF_TYPE_MAP)  		ret = bpf_map_new_fd(raw, f_flags);  	else if (type == BPF_TYPE_LINK) -		ret = bpf_link_new_fd(raw); +		ret = (f_flags != O_RDWR) ? -EINVAL : bpf_link_new_fd(raw);  	else  		return -ENOENT; |