diff options
author | Tony Lindgren <tony@atomide.com> | 2021-02-15 07:41:56 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2021-02-15 07:41:56 +0300 |
commit | 857de6fe2f86b009df620f7cdb07c262cc17070d (patch) | |
tree | e9718ebeeef39485a51a9f8e3c8122da18c796cf /include/linux/tracepoint.h | |
parent | 9bbce32a20d6a72c767a7f85fd6127babd1410ac (diff) | |
parent | fbfa463be8dc7957ee4f81556e9e1ea2a951807d (diff) | |
download | linux-857de6fe2f86b009df620f7cdb07c262cc17070d.tar.xz |
Merge branch 'fixes-v5.11' into fixes
Diffstat (limited to 'include/linux/tracepoint.h')
-rw-r--r-- | include/linux/tracepoint.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 0f21617f1a66..966ed8980327 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -307,11 +307,13 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) \ it_func_ptr = \ rcu_dereference_raw((&__tracepoint_##_name)->funcs); \ - do { \ - it_func = (it_func_ptr)->func; \ - __data = (it_func_ptr)->data; \ - ((void(*)(void *, proto))(it_func))(__data, args); \ - } while ((++it_func_ptr)->func); \ + if (it_func_ptr) { \ + do { \ + it_func = (it_func_ptr)->func; \ + __data = (it_func_ptr)->data; \ + ((void(*)(void *, proto))(it_func))(__data, args); \ + } while ((++it_func_ptr)->func); \ + } \ return 0; \ } \ DEFINE_STATIC_CALL(tp_func_##_name, __traceiter_##_name); |