mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-23 01:40:30 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Daniel Borkmann says: ==================== pull-request: bpf 2018-06-12 The following pull-request contains BPF updates for your *net* tree. The main changes are: 1) Avoid an allocation warning in AF_XDP by adding __GFP_NOWARN for the umem setup, from Björn. 2) Silence a warning in bpf fs when an application tries to open(2) a pinned bpf obj due to missing fops. Add a dummy open fop that continues to just bail out in such case, from Daniel. 3) Fix a BPF selftest urandom_read build issue where gcc complains that it gets built twice, from Anders. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
0ca69d1399
@ -295,6 +295,15 @@ static const struct file_operations bpffs_map_fops = {
|
|||||||
.release = bpffs_map_release,
|
.release = bpffs_map_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int bpffs_obj_open(struct inode *inode, struct file *file)
|
||||||
|
{
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct file_operations bpffs_obj_fops = {
|
||||||
|
.open = bpffs_obj_open,
|
||||||
|
};
|
||||||
|
|
||||||
static int bpf_mkobj_ops(struct dentry *dentry, umode_t mode, void *raw,
|
static int bpf_mkobj_ops(struct dentry *dentry, umode_t mode, void *raw,
|
||||||
const struct inode_operations *iops,
|
const struct inode_operations *iops,
|
||||||
const struct file_operations *fops)
|
const struct file_operations *fops)
|
||||||
@ -314,7 +323,8 @@ static int bpf_mkobj_ops(struct dentry *dentry, umode_t mode, void *raw,
|
|||||||
|
|
||||||
static int bpf_mkprog(struct dentry *dentry, umode_t mode, void *arg)
|
static int bpf_mkprog(struct dentry *dentry, umode_t mode, void *arg)
|
||||||
{
|
{
|
||||||
return bpf_mkobj_ops(dentry, mode, arg, &bpf_prog_iops, NULL);
|
return bpf_mkobj_ops(dentry, mode, arg, &bpf_prog_iops,
|
||||||
|
&bpffs_obj_fops);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bpf_mkmap(struct dentry *dentry, umode_t mode, void *arg)
|
static int bpf_mkmap(struct dentry *dentry, umode_t mode, void *arg)
|
||||||
@ -322,7 +332,7 @@ static int bpf_mkmap(struct dentry *dentry, umode_t mode, void *arg)
|
|||||||
struct bpf_map *map = arg;
|
struct bpf_map *map = arg;
|
||||||
|
|
||||||
return bpf_mkobj_ops(dentry, mode, arg, &bpf_map_iops,
|
return bpf_mkobj_ops(dentry, mode, arg, &bpf_map_iops,
|
||||||
map->btf ? &bpffs_map_fops : NULL);
|
map->btf ? &bpffs_map_fops : &bpffs_obj_fops);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dentry *
|
static struct dentry *
|
||||||
|
@ -204,7 +204,8 @@ static int xdp_umem_pin_pages(struct xdp_umem *umem)
|
|||||||
long npgs;
|
long npgs;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
umem->pgs = kcalloc(umem->npgs, sizeof(*umem->pgs), GFP_KERNEL);
|
umem->pgs = kcalloc(umem->npgs, sizeof(*umem->pgs),
|
||||||
|
GFP_KERNEL | __GFP_NOWARN);
|
||||||
if (!umem->pgs)
|
if (!umem->pgs)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -16,9 +16,7 @@ LDLIBS += -lcap -lelf -lrt -lpthread
|
|||||||
TEST_CUSTOM_PROGS = $(OUTPUT)/urandom_read
|
TEST_CUSTOM_PROGS = $(OUTPUT)/urandom_read
|
||||||
all: $(TEST_CUSTOM_PROGS)
|
all: $(TEST_CUSTOM_PROGS)
|
||||||
|
|
||||||
$(TEST_CUSTOM_PROGS): urandom_read
|
$(TEST_CUSTOM_PROGS): $(OUTPUT)/%: %.c
|
||||||
|
|
||||||
urandom_read: urandom_read.c
|
|
||||||
$(CC) -o $(TEST_CUSTOM_PROGS) -static $< -Wl,--build-id
|
$(CC) -o $(TEST_CUSTOM_PROGS) -static $< -Wl,--build-id
|
||||||
|
|
||||||
# Order correspond to 'make run_tests' order
|
# Order correspond to 'make run_tests' order
|
||||||
|
Loading…
Reference in New Issue
Block a user