aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/offload.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/bpf/offload.c')
-rw-r--r--kernel/bpf/offload.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c
index 39dba8c90331..ba635209ae9a 100644
--- a/kernel/bpf/offload.c
+++ b/kernel/bpf/offload.c
@@ -35,6 +35,7 @@ static DECLARE_RWSEM(bpf_devs_lock);
35struct bpf_offload_dev { 35struct bpf_offload_dev {
36 const struct bpf_prog_offload_ops *ops; 36 const struct bpf_prog_offload_ops *ops;
37 struct list_head netdevs; 37 struct list_head netdevs;
38 void *priv;
38}; 39};
39 40
40struct bpf_offload_netdev { 41struct bpf_offload_netdev {
@@ -669,7 +670,7 @@ unlock:
669EXPORT_SYMBOL_GPL(bpf_offload_dev_netdev_unregister); 670EXPORT_SYMBOL_GPL(bpf_offload_dev_netdev_unregister);
670 671
671struct bpf_offload_dev * 672struct bpf_offload_dev *
672bpf_offload_dev_create(const struct bpf_prog_offload_ops *ops) 673bpf_offload_dev_create(const struct bpf_prog_offload_ops *ops, void *priv)
673{ 674{
674 struct bpf_offload_dev *offdev; 675 struct bpf_offload_dev *offdev;
675 int err; 676 int err;
@@ -688,6 +689,7 @@ bpf_offload_dev_create(const struct bpf_prog_offload_ops *ops)
688 return ERR_PTR(-ENOMEM); 689 return ERR_PTR(-ENOMEM);
689 690
690 offdev->ops = ops; 691 offdev->ops = ops;
692 offdev->priv = priv;
691 INIT_LIST_HEAD(&offdev->netdevs); 693 INIT_LIST_HEAD(&offdev->netdevs);
692 694
693 return offdev; 695 return offdev;
@@ -700,3 +702,9 @@ void bpf_offload_dev_destroy(struct bpf_offload_dev *offdev)
700 kfree(offdev); 702 kfree(offdev);
701} 703}
702EXPORT_SYMBOL_GPL(bpf_offload_dev_destroy); 704EXPORT_SYMBOL_GPL(bpf_offload_dev_destroy);
705
706void *bpf_offload_dev_priv(struct bpf_offload_dev *offdev)
707{
708 return offdev->priv;
709}
710EXPORT_SYMBOL_GPL(bpf_offload_dev_priv);