| /drivers/net/ethernet/netronome/nfp/bpf/ |
| A D | main.c | 223 if (bpf->adjust_head.off_min > bpf->adjust_head.off_max) { in nfp_bpf_parse_cap_adjust_head() 230 memset(&bpf->adjust_head, 0, sizeof(bpf->adjust_head)); in nfp_bpf_parse_cap_adjust_head() 327 if (bpf->abi_version < 2 || bpf->abi_version > 3) { in nfp_bpf_parse_cap_abi_version() 449 bpf->cmsg_cache_cnt = nfp_bpf_ctrl_cmsg_cache_cnt(bpf); in nfp_bpf_start() 461 bpf = kzalloc(sizeof(*bpf), GFP_KERNEL); in nfp_bpf_init() 462 if (!bpf) in nfp_bpf_init() 487 bpf->cmsg_key_sz = bpf->maps.max_key_sz; in nfp_bpf_init() 488 bpf->cmsg_val_sz = bpf->maps.max_val_sz; in nfp_bpf_init() 504 kfree(bpf); in nfp_bpf_init() 515 WARN_ON(bpf->maps_in_use || bpf->map_elems_in_use); in nfp_bpf_clean() [all …]
|
| A D | cmsg.c | 36 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_req_size() 44 return nfp_bpf_cmsg_alloc(bpf, nfp_bpf_cmsg_map_req_size(bpf, n)); in nfp_bpf_cmsg_map_req_alloc() 53 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_reply_size() 157 return &req->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_key() 164 return &req->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_val() 171 return &reply->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_key() 178 return &reply->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_val() 205 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_op_cache_get() local 299 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_entry_op() local 437 entry_sz = bpf->cmsg_key_sz + bpf->cmsg_val_sz; in nfp_bpf_ctrl_cmsg_cache_cnt() [all …]
|
| A D | offload.c | 139 nfp_map_ptrs_forget(bpf, nfp_prog); in nfp_map_ptrs_record() 338 if (!bpf->maps.types) in nfp_bpf_map_alloc() 351 if (bpf->maps.max_maps == bpf->maps_in_use) { in nfp_bpf_map_alloc() 355 if (bpf->maps.max_elems - bpf->map_elems_in_use < in nfp_bpf_map_alloc() 359 bpf->maps.max_elems - bpf->map_elems_in_use); in nfp_bpf_map_alloc() 368 bpf->maps.max_elem_sz); in nfp_bpf_map_alloc() 391 nfp_map->bpf = bpf; in nfp_bpf_map_alloc() 402 bpf->maps_in_use++; in nfp_bpf_map_alloc() 414 nfp_bpf_ctrl_free_map(bpf, nfp_map); in nfp_bpf_map_free() 419 bpf->maps_in_use--; in nfp_bpf_map_free() [all …]
|
| A D | main.h | 21 #define cmsg_warn(bpf, msg...) nn_dp_warn(&(bpf)->app->ctrl->dp, msg) argument 211 struct nfp_app_bpf *bpf; member 514 struct nfp_app_bpf *bpf; member 581 struct netdev_bpf *bpf); 591 unsigned int nfp_bpf_ctrl_cmsg_min_mtu(struct nfp_app_bpf *bpf); 592 unsigned int nfp_bpf_ctrl_cmsg_mtu(struct nfp_app_bpf *bpf); 593 unsigned int nfp_bpf_ctrl_cmsg_cache_cnt(struct nfp_app_bpf *bpf); 595 nfp_bpf_ctrl_alloc_map(struct nfp_app_bpf *bpf, struct bpf_map *map); 597 nfp_bpf_ctrl_free_map(struct nfp_app_bpf *bpf, struct nfp_bpf_map *nfp_map); 608 int nfp_bpf_event_output(struct nfp_app_bpf *bpf, const void *data,
|
| A D | verifier.c | 65 if (imm > (int)bpf->adjust_head.guaranteed_add || in nfp_record_adjust_head() 66 imm < -bpf->adjust_head.guaranteed_sub) in nfp_record_adjust_head() 177 struct nfp_app_bpf *bpf = nfp_prog->bpf; in nfp_bpf_check_helper_call() local 182 if (!bpf->adjust_head.off_max) { in nfp_bpf_check_helper_call() 195 if (!bpf->adjust_tail) { in nfp_bpf_check_helper_call() 203 bpf->helpers.map_lookup, reg1) || in nfp_bpf_check_helper_call() 211 bpf->helpers.map_update, reg1) || in nfp_bpf_check_helper_call() 221 bpf->helpers.map_delete, reg1) || in nfp_bpf_check_helper_call() 228 if (bpf->pseudo_random) in nfp_bpf_check_helper_call() 239 if (!bpf->helpers.perf_event_output) { in nfp_bpf_check_helper_call() [all …]
|
| /drivers/hid/bpf/progs/ |
| A D | README | 17 Once a .bpf.c file is accepted here, it is duplicated in `udev-hid-bpf` 30 Just run `sudo udev-hid-bpf install ./my-awesome-fix.bpf.o` 34 - copy the `.bpf.o` you want in `/etc/udev-hid-bpf/` 41 $> cp xppen-ArtistPro16Gen2.bpf.o /etc/udev-hid-bpf/ 42 $> udev-hid-bpf inspect xppen-ArtistPro16Gen2.bpf.o 45 "name": "xppen-ArtistPro16Gen2.bpf.o", 65 # xppen-ArtistPro16Gen2.bpf.o 66 …5A", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro… 68 # xppen-ArtistPro16Gen2.bpf.o 69 …5B", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro… [all …]
|
| A D | Makefile | 10 BPFTOOL_SRC := $(TOOLS_PATH)/bpf/bpftool 15 LIBBPF_SRC := $(TOOLS_PATH)/lib/bpf 48 SOURCES = $(wildcard *.bpf.c) 49 TARGETS = $(SOURCES:.bpf.c=.bpf.o) 57 %.bpf.o: %.bpf.c vmlinux.h $(BPFOBJ) | $(OUTPUT) 59 $(Q)$(CLANG) -g -O2 --target=bpf -Wall -Werror $(INCLUDES) \
|
| /drivers/hid/bpf/ |
| A D | hid_bpf_dispatch.c | 35 .data = hdev->bpf.device_data, in dispatch_hid_bpf_device_event() 41 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_device_event() 48 if (!hdev->bpf.device_data) in dispatch_hid_bpf_device_event() 99 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_raw_requests() 171 if (!hdev->bpf.rdesc_ops) in call_hid_bpf_rdesc_fixup() 264 if (hdev->bpf.device_data) in hid_bpf_allocate_event_data() 267 return __hid_bpf_allocate_data(hdev, &hdev->bpf.device_data, &hdev->bpf.allocated_data); in hid_bpf_allocate_event_data() 625 kfree(hdev->bpf.device_data); in hid_bpf_disconnect_device() 626 hdev->bpf.device_data = NULL; in hid_bpf_disconnect_device() 627 hdev->bpf.allocated_data = 0; in hid_bpf_disconnect_device() [all …]
|
| A D | hid_bpf_struct_ops.c | 196 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_reg() 205 if (hdev->bpf.rdesc_ops) { in hid_bpf_reg() 210 hdev->bpf.rdesc_ops = ops; in hid_bpf_reg() 223 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_reg() 226 mutex_unlock(&hdev->bpf.prog_list_lock); in hid_bpf_reg() 229 if (hdev->bpf.rdesc_ops == ops) in hid_bpf_reg() 230 hdev->bpf.rdesc_ops = NULL; in hid_bpf_reg() 251 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_unreg() 254 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_unreg() 257 reconnect = hdev->bpf.rdesc_ops == ops; in hid_bpf_unreg() [all …]
|
| A D | Kconfig | 14 For documentation, see Documentation/hid/hid-bpf.rst
|
| /drivers/net/netdevsim/ |
| A D | bpf.c | 207 if (bpf->command == XDP_SETUP_PROG_HW) { in nsim_xdp_set_prog() 208 err = nsim_xdp_offload_prog(ns, bpf); in nsim_xdp_set_prog() 213 xdp_attachment_setup(xdp, bpf); in nsim_xdp_set_prog() 295 if (bpf->prog && bpf->prog->aux->offload) { in nsim_setup_prog_checks() 299 if (bpf->prog && !bpf->prog->aux->xdp_has_frags && in nsim_setup_prog_checks() 312 if (!bpf->prog) in nsim_setup_prog_hw_checks() 320 state = bpf->prog->aux->offload->dev_priv; in nsim_setup_prog_hw_checks() 555 switch (bpf->command) { in nsim_bpf() 557 err = nsim_setup_prog_checks(ns, bpf); in nsim_bpf() 563 err = nsim_setup_prog_hw_checks(ns, bpf); in nsim_bpf() [all …]
|
| A D | Makefile | 10 bpf.o
|
| A D | netdevsim.h | 164 int nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf); 187 static inline int nsim_bpf(struct net_device *dev, struct netdev_bpf *bpf) in nsim_bpf() argument
|
| /drivers/net/ethernet/netronome/nfp/ |
| A D | Makefile | 68 bpf/cmsg.o \ 69 bpf/main.o \ 70 bpf/offload.o \ 71 bpf/verifier.o \ 72 bpf/jit.o
|
| A D | nfp_app.h | 134 int (*bpf)(struct nfp_app *app, struct nfp_net *nn, member 330 struct netdev_bpf *bpf) in nfp_app_bpf() argument 332 if (!app || !app->type->bpf) in nfp_app_bpf() 334 return app->type->bpf(app, nn, bpf); in nfp_app_bpf()
|
| A D | nfp_net_common.c | 2178 static int nfp_net_xdp_setup_drv(struct nfp_net *nn, struct netdev_bpf *bpf) in nfp_net_xdp_setup_drv() argument 2180 struct bpf_prog *prog = bpf->prog; in nfp_net_xdp_setup_drv() 2186 xdp_attachment_setup(&nn->xdp, bpf); in nfp_net_xdp_setup_drv() 2200 err = nfp_net_ring_reconfig(nn, dp, bpf->extack); in nfp_net_xdp_setup_drv() 2204 xdp_attachment_setup(&nn->xdp, bpf); in nfp_net_xdp_setup_drv() 2208 static int nfp_net_xdp_setup_hw(struct nfp_net *nn, struct netdev_bpf *bpf) in nfp_net_xdp_setup_hw() argument 2212 err = nfp_app_xdp_offload(nn->app, nn, bpf->prog, bpf->extack); in nfp_net_xdp_setup_hw() 2216 xdp_attachment_setup(&nn->xdp_hw, bpf); in nfp_net_xdp_setup_hw()
|
| /drivers/net/hyperv/ |
| A D | netvsc_bpf.c | 194 int netvsc_bpf(struct net_device *dev, struct netdev_bpf *bpf) in netvsc_bpf() argument 199 struct netlink_ext_ack *extack = bpf->extack; in netvsc_bpf() 206 switch (bpf->command) { in netvsc_bpf() 208 ret = netvsc_xdp_set(dev, bpf->prog, extack, nvdev); in netvsc_bpf() 213 ret = netvsc_vf_setxdp(vf_netdev, bpf->prog); in netvsc_bpf()
|
| /drivers/net/ethernet/amazon/ena/ |
| A D | ena_xdp.c | 288 static int ena_xdp_set(struct net_device *netdev, struct netdev_bpf *bpf) in ena_xdp_set() argument 291 struct bpf_prog *prog = bpf->prog; in ena_xdp_set() 338 NL_SET_ERR_MSG_MOD(bpf->extack, in ena_xdp_set() 345 NL_SET_ERR_MSG_MOD(bpf->extack, in ena_xdp_set() 356 int ena_xdp(struct net_device *netdev, struct netdev_bpf *bpf) in ena_xdp() argument 358 switch (bpf->command) { in ena_xdp() 360 return ena_xdp_set(netdev, bpf); in ena_xdp()
|
| A D | ena_xdp.h | 44 int ena_xdp(struct net_device *netdev, struct netdev_bpf *bpf);
|
| /drivers/net/ethernet/microsoft/mana/ |
| A D | mana_bpf.c | 212 int mana_bpf(struct net_device *ndev, struct netdev_bpf *bpf) in mana_bpf() argument 214 struct netlink_ext_ack *extack = bpf->extack; in mana_bpf() 217 switch (bpf->command) { in mana_bpf() 219 return mana_xdp_set(ndev, bpf->prog, extack); in mana_bpf()
|
| /drivers/net/vmxnet3/ |
| A D | vmxnet3_xdp.c | 37 vmxnet3_xdp_set(struct net_device *netdev, struct netdev_bpf *bpf, in vmxnet3_xdp_set() argument 41 struct bpf_prog *new_bpf_prog = bpf->prog; in vmxnet3_xdp_set() 102 vmxnet3_xdp(struct net_device *netdev, struct netdev_bpf *bpf) in vmxnet3_xdp() argument 104 switch (bpf->command) { in vmxnet3_xdp() 106 return vmxnet3_xdp_set(netdev, bpf, bpf->extack); in vmxnet3_xdp()
|
| A D | vmxnet3_xdp.h | 26 int vmxnet3_xdp(struct net_device *netdev, struct netdev_bpf *bpf);
|
| /drivers/net/ethernet/ti/ |
| A D | cpsw_priv.c | 1244 static int cpsw_xdp_prog_setup(struct cpsw_priv *priv, struct netdev_bpf *bpf) in cpsw_xdp_prog_setup() argument 1246 struct bpf_prog *prog = bpf->prog; in cpsw_xdp_prog_setup() 1253 xdp_attachment_setup(&priv->xdpi, bpf); in cpsw_xdp_prog_setup() 1258 int cpsw_ndo_bpf(struct net_device *ndev, struct netdev_bpf *bpf) in cpsw_ndo_bpf() argument 1262 switch (bpf->command) { in cpsw_ndo_bpf() 1264 return cpsw_xdp_prog_setup(priv, bpf); in cpsw_ndo_bpf()
|
| /drivers/media/rc/ |
| A D | Makefile | 8 rc-core-$(CONFIG_BPF_LIRC_MODE2) += bpf-lirc.o
|
| /drivers/net/ethernet/pensando/ionic/ |
| A D | ionic_lif.c | 2762 NL_SET_ERR_MSG_MOD(bpf->extack, XDP_ERR_SPLIT); in ionic_xdp_config() 2767 if (!ionic_xdp_is_valid_mtu(lif, netdev->mtu, bpf->prog)) { in ionic_xdp_config() 2769 NL_SET_ERR_MSG_MOD(bpf->extack, XDP_ERR_MTU); in ionic_xdp_config() 2775 if (bpf->prog && !(bpf->prog->aux && bpf->prog->aux->xdp_has_frags)) in ionic_xdp_config() 2780 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config() 2781 } else if (lif->xdp_prog && bpf->prog) { in ionic_xdp_config() 2782 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config() 2788 qparams.xdp_prog = bpf->prog; in ionic_xdp_config() 2791 old_prog = xchg(&lif->xdp_prog, bpf->prog); in ionic_xdp_config() 2803 switch (bpf->command) { in ionic_xdp() [all …]
|