| /linux/drivers/net/ethernet/microchip/lan966x/ |
| H A D | lan966x_xdp.c | 13 struct bpf_prog *old_prog; in lan966x_xdp_setup() local 24 old_prog = xchg(&port->xdp_prog, xdp->prog); in lan966x_xdp_setup() 32 xchg(&port->xdp_prog, old_prog); in lan966x_xdp_setup() 37 if (old_prog) in lan966x_xdp_setup() 38 bpf_prog_put(old_prog); in lan966x_xdp_setup()
|
| /linux/drivers/net/ethernet/engleder/ |
| H A D | tsnep_xdp.c | 12 struct bpf_prog *old_prog; in tsnep_xdp_setup_prog() local 14 old_prog = xchg(&adapter->xdp_prog, prog); in tsnep_xdp_setup_prog() 15 if (old_prog) in tsnep_xdp_setup_prog() 16 bpf_prog_put(old_prog); in tsnep_xdp_setup_prog()
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_xdp.c | 15 struct bpf_prog *old_prog; in igc_xdp_set_prog() local 36 old_prog = xchg(&adapter->xdp_prog, prog); in igc_xdp_set_prog() 37 if (old_prog) in igc_xdp_set_prog() 38 bpf_prog_put(old_prog); in igc_xdp_set_prog()
|
| /linux/drivers/net/hyperv/ |
| H A D | netvsc_bpf.c | 128 struct bpf_prog *old_prog; in netvsc_xdp_set() local 131 old_prog = netvsc_xdp_get(nvdev); in netvsc_xdp_set() 133 if (!old_prog && !prog) in netvsc_xdp_set() 158 if (old_prog) in netvsc_xdp_set() 160 bpf_prog_put(old_prog); in netvsc_xdp_set()
|
| /linux/net/core/ |
| H A D | sock_reuseport.c | 686 struct bpf_prog *old_prog; in reuseport_attach_prog() local 705 old_prog = rcu_dereference_protected(reuse->prog, in reuseport_attach_prog() 710 sk_reuseport_prog_free(old_prog); in reuseport_attach_prog() 718 struct bpf_prog *old_prog; in reuseport_detach_prog() local 720 old_prog = NULL; in reuseport_detach_prog() 738 old_prog = rcu_replace_pointer(reuse->prog, old_prog, in reuseport_detach_prog() 742 if (!old_prog) in reuseport_detach_prog() 745 sk_reuseport_prog_free(old_prog); in reuseport_detach_prog()
|
| H A D | dev.c | 10357 struct bpf_prog *old_prog, u32 flags) in dev_xdp_attach() argument 10370 if (link && (new_prog || old_prog)) in dev_xdp_attach() 10389 if (old_prog && !(flags & XDP_FLAGS_REPLACE)) { in dev_xdp_attach() 10415 if ((flags & XDP_FLAGS_REPLACE) && cur_prog != old_prog) { in dev_xdp_attach() 10570 struct bpf_prog *old_prog) in bpf_xdp_link_update() argument 10585 if (old_prog && link->prog != old_prog) { in bpf_xdp_link_update() 10589 old_prog = link->prog; in bpf_xdp_link_update() 10590 if (old_prog->type != new_prog->type || in bpf_xdp_link_update() 10591 old_prog->expected_attach_type != new_prog->expected_attach_type) { in bpf_xdp_link_update() 10596 if (old_prog == new_prog) { in bpf_xdp_link_update() [all …]
|
| H A D | filter.c | 1270 struct sock_filter *old_prog; in bpf_migrate_filter() local 1286 old_prog = kmemdup_array(fp->insns, old_len, sizeof(struct sock_filter), in bpf_migrate_filter() 1288 if (!old_prog) { in bpf_migrate_filter() 1294 err = bpf_convert_filter(old_prog, old_len, NULL, &new_len, in bpf_migrate_filter() 1314 err = bpf_convert_filter(old_prog, old_len, fp, &new_len, in bpf_migrate_filter() 1328 kfree(old_prog); in bpf_migrate_filter() 1332 kfree(old_prog); in bpf_migrate_filter()
|
| /linux/kernel/bpf/ |
| H A D | net_namespace.c | 165 struct bpf_prog *old_prog) in bpf_netns_link_update_prog() argument 174 if (old_prog && old_prog != link->prog) in bpf_netns_link_update_prog() 195 old_prog = xchg(&link->prog, new_prog); in bpf_netns_link_update_prog() 196 bpf_prog_put(old_prog); in bpf_netns_link_update_prog()
|
| H A D | offload.c | 271 int bpf_prog_dev_bound_inherit(struct bpf_prog *new_prog, struct bpf_prog *old_prog) in bpf_prog_dev_bound_inherit() argument 275 if (!bpf_prog_is_dev_bound(old_prog->aux)) in bpf_prog_dev_bound_inherit() 278 if (bpf_prog_is_offloaded(old_prog->aux)) in bpf_prog_dev_bound_inherit() 281 new_prog->aux->dev_bound = old_prog->aux->dev_bound; in bpf_prog_dev_bound_inherit() 282 new_prog->aux->offload_requested = old_prog->aux->offload_requested; in bpf_prog_dev_bound_inherit() 285 if (!old_prog->aux->offload) { in bpf_prog_dev_bound_inherit() 290 err = __bpf_prog_dev_bound_init(new_prog, old_prog->aux->offload->netdev); in bpf_prog_dev_bound_inherit()
|
| H A D | syscall.c | 5796 struct bpf_prog *old_prog = NULL, *new_prog; in link_update() local 5824 old_prog = bpf_prog_get(attr->link_update.old_prog_fd); in link_update() 5825 if (IS_ERR(old_prog)) { in link_update() 5826 ret = PTR_ERR(old_prog); in link_update() 5827 old_prog = NULL; in link_update() 5836 ret = link->ops->update_prog(link, new_prog, old_prog); in link_update() 5841 if (old_prog) in link_update() 5842 bpf_prog_put(old_prog); in link_update()
|
| H A D | core.c | 2697 struct bpf_prog *old_prog) 2702 if (item->prog == old_prog) { 2660 bpf_prog_array_delete_safe(struct bpf_prog_array * array,struct bpf_prog * old_prog) bpf_prog_array_delete_safe() argument
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| H A D | offload.c | 577 bool old_prog, struct netlink_ext_ack *extack) in nfp_net_bpf_offload() argument 584 if (prog && old_prog) { in nfp_net_bpf_offload() 596 if (!old_prog && nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF) in nfp_net_bpf_offload() 599 if (old_prog && !prog) in nfp_net_bpf_offload() 606 if (!old_prog) in nfp_net_bpf_offload()
|
| H A D | main.h | 583 bool old_prog, struct netlink_ext_ack *extack);
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | efx.c | 630 struct bpf_prog *old_prog; in efx_xdp_setup_prog() local 645 old_prog = rtnl_dereference(efx->xdp_prog); in efx_xdp_setup_prog() 648 if (old_prog) in efx_xdp_setup_prog() 649 bpf_prog_put(old_prog); in efx_xdp_setup_prog()
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | efx.c | 708 struct bpf_prog *old_prog; in efx_xdp_setup_prog() local 723 old_prog = rtnl_dereference(efx->xdp_prog); in efx_xdp_setup_prog() 726 if (old_prog) in efx_xdp_setup_prog() 727 bpf_prog_put(old_prog); in efx_xdp_setup_prog()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 411 struct bpf_prog *old_prog; in mlx4_en_destroy_rx_ring() local 413 old_prog = rcu_dereference_protected( in mlx4_en_destroy_rx_ring() 416 if (old_prog) in mlx4_en_destroy_rx_ring() 417 bpf_prog_put(old_prog); in mlx4_en_destroy_rx_ring()
|
| /linux/net/netfilter/ |
| H A D | nf_bpf_link.c | 166 struct bpf_prog *old_prog) in bpf_nf_link_update() argument
|
| /linux/drivers/net/ethernet/socionext/ |
| H A D | netsec.c | 1800 struct bpf_prog *old_prog; in netsec_xdp_setup() local 1812 old_prog = xchg(&priv->xdp_prog, prog); in netsec_xdp_setup() 1813 if (old_prog) in netsec_xdp_setup() 1814 bpf_prog_put(old_prog); in netsec_xdp_setup()
|
| /linux/drivers/net/ |
| H A D | virtio_net.c | 6057 struct bpf_prog *old_prog; in virtnet_xdp_set() local 6095 old_prog = rtnl_dereference(vi->rq[0].xdp_prog); in virtnet_xdp_set() 6096 if (!prog && !old_prog) in virtnet_xdp_set() 6129 if (i == 0 && !old_prog) in virtnet_xdp_set() 6132 if (!old_prog) in virtnet_xdp_set() 6141 if (old_prog) in virtnet_xdp_set() 6142 bpf_prog_put(old_prog); in virtnet_xdp_set() 6153 rcu_assign_pointer(vi->rq[i].xdp_prog, old_prog); in virtnet_xdp_set() 6355 struct bpf_prog *old_prog; in _free_receive_bufs() local 6362 old_prog = rtnl_dereference(vi->rq[i].xdp_prog); in _free_receive_bufs() [all …]
|
| /linux/drivers/net/ethernet/freescale/dpaa/ |
| H A D | dpaa_eth.c | 3029 struct bpf_prog *old_prog; in dpaa_setup_xdp() local 3044 old_prog = xchg(&priv->xdp_prog, bpf->prog); in dpaa_setup_xdp() 3045 if (old_prog) in dpaa_setup_xdp() 3046 bpf_prog_put(old_prog); in dpaa_setup_xdp()
|
| /linux/drivers/net/ethernet/intel/ixgbevf/ |
| H A D | ixgbevf_main.c | 4475 struct bpf_prog *old_prog; in ixgbevf_xdp_setup() local 4485 old_prog = xchg(&adapter->xdp_prog, prog); in ixgbevf_xdp_setup() 4488 if (!!prog != !!old_prog) { in ixgbevf_xdp_setup() 4506 if (old_prog) in ixgbevf_xdp_setup() 4507 bpf_prog_put(old_prog); in ixgbevf_xdp_setup()
|
| /linux/drivers/net/bonding/ |
| H A D | bond_main.c | 5574 struct bpf_prog *old_prog; in bond_xdp_set() local 5591 old_prog = bond->xdp_prog; in bond_xdp_set() 5624 } else if (old_prog) { in bond_xdp_set() 5625 bpf_prog_put(old_prog); in bond_xdp_set() 5633 bond->xdp_prog = old_prog; in bond_xdp_set() 5634 xdp.prog = old_prog; in bond_xdp_set()
|
| /linux/drivers/net/ethernet/mediatek/ |
| H A D | mtk_eth_soc.c | 3734 struct bpf_prog *old_prog; in mtk_xdp_setup() local 3751 old_prog = rcu_replace_pointer(eth->prog, prog, lockdep_rtnl_is_held()); in mtk_xdp_setup() 3752 if (old_prog) in mtk_xdp_setup() 3753 bpf_prog_put(old_prog); in mtk_xdp_setup()
|
| /linux/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_main.c | 10890 struct bpf_prog *old_prog; in ixgbe_xdp_setup() local 10917 old_prog = xchg(&adapter->xdp_prog, prog); in ixgbe_xdp_setup() 10918 need_reset = (!!prog != !!old_prog); in ixgbe_xdp_setup() 10940 if (old_prog) in ixgbe_xdp_setup() 10941 bpf_prog_put(old_prog); in ixgbe_xdp_setup()
|