int num_progs;
        void *image;
        u32 image_off;
+       struct bpf_ksym ksym;
 };
 
 static __always_inline unsigned int bpf_dispatcher_nop_func(
 int bpf_trampoline_link_prog(struct bpf_prog *prog);
 int bpf_trampoline_unlink_prog(struct bpf_prog *prog);
 void bpf_trampoline_put(struct bpf_trampoline *tr);
-#define BPF_DISPATCHER_INIT(name) {                    \
-       .mutex = __MUTEX_INITIALIZER(name.mutex),       \
-       .func = &name##_func,                           \
-       .progs = {},                                    \
-       .num_progs = 0,                                 \
-       .image = NULL,                                  \
-       .image_off = 0                                  \
+#define BPF_DISPATCHER_INIT(_name) {                           \
+       .mutex = __MUTEX_INITIALIZER(_name.mutex),              \
+       .func = &_name##_func,                                  \
+       .progs = {},                                            \
+       .num_progs = 0,                                         \
+       .image = NULL,                                          \
+       .image_off = 0,                                         \
+       .ksym = {                                               \
+               .name  = #_name,                                \
+               .lnode = LIST_HEAD_INIT(_name.ksym.lnode),      \
+       },                                                      \
 }
 
 #define DEFINE_BPF_DISPATCHER(name)                                    \