Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ee64009 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by Daniel Borkmann
Browse files

bpf: revert report offload info to user space



This reverts commit bd601b6a ("bpf: report offload info to user
space").  The ifindex by itself is not sufficient, we should provide
information on which network namespace this ifindex belongs to.
After considering some options we concluded that it's best to just
remove this API for now, and rework it in -next.

Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 51aa4239
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -515,7 +515,6 @@ static inline struct bpf_prog *bpf_prog_get_type(u32 ufd,

int bpf_prog_offload_compile(struct bpf_prog *prog);
void bpf_prog_offload_destroy(struct bpf_prog *prog);
u32 bpf_prog_offload_ifindex(struct bpf_prog *prog);

#if defined(CONFIG_NET) && defined(CONFIG_BPF_SYSCALL)
int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr);
+0 −6
Original line number Diff line number Diff line
@@ -897,10 +897,6 @@ enum sk_action {

#define BPF_TAG_SIZE	8

enum bpf_prog_status {
	BPF_PROG_STATUS_DEV_BOUND	= (1 << 0),
};

struct bpf_prog_info {
	__u32 type;
	__u32 id;
@@ -914,8 +910,6 @@ struct bpf_prog_info {
	__u32 nr_map_ids;
	__aligned_u64 map_ids;
	char name[BPF_OBJ_NAME_LEN];
	__u32 ifindex;
	__u32 status;
} __attribute__((aligned(8)));

struct bpf_map_info {
+0 −12
Original line number Diff line number Diff line
@@ -149,18 +149,6 @@ int bpf_prog_offload_compile(struct bpf_prog *prog)
	return bpf_prog_offload_translate(prog);
}

u32 bpf_prog_offload_ifindex(struct bpf_prog *prog)
{
	struct bpf_dev_offload *offload = prog->aux->offload;
	u32 ifindex;

	rtnl_lock();
	ifindex = offload->netdev ? offload->netdev->ifindex : 0;
	rtnl_unlock();

	return ifindex;
}

const struct bpf_prog_ops bpf_offload_prog_ops = {
};

+0 −5
Original line number Diff line number Diff line
@@ -1616,11 +1616,6 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
			return -EFAULT;
	}

	if (bpf_prog_is_dev_bound(prog->aux)) {
		info.status |= BPF_PROG_STATUS_DEV_BOUND;
		info.ifindex = bpf_prog_offload_ifindex(prog);
	}

done:
	if (copy_to_user(uinfo, &info, info_len) ||
	    put_user(info_len, &uattr->info.info_len))