Hello.
I had faced the same problems on SAMA5 development board with “kgdboe” module and I have found solution, which allows me to debug target with GDB.
The issue was in that the wrapper “register_tracepoint_wrapper” makes a call to “kallsyms_lookup_name” with argument equal to “__tracepoint_netif_receive_skb”.
But for some reason the symbol “__tracepoint_netif_receive_skb” is not present in the kernel symbol table. Due to symbol absence the function “kallsyms_lookup_name”
returns NULL-pointer and “tracepoint_probe_register” tries to dereference NULL-pointer. Fortunately there is “__tracepoint_ptr_netif_receive_skb” symbol in kernel symbol
table and it contains pointer to “__tracepoint_netif_receive_skb”.
So the solution is to modify wrappers to next form:
#define register_tracepoint_wrapper(tp, func, ctx) \
tracepoint_probe_register(*(struct tracepoint **)kallsyms_lookup_name(“__tracepoint_ptr_” #tp), func, ctx)
#define unregister_tracepoint_wrapper(tp, func, ctx) \
tracepoint_probe_unregister(*(struct tracepoint **)kallsyms_lookup_name(“__tracepoint_ptr_” #tp), func, ctx)