summaryrefslogtreecommitdiff
path: root/include/linux/tracepoint.h
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2021-02-15 07:41:56 +0300
committerTony Lindgren <tony@atomide.com>2021-02-15 07:41:56 +0300
commit857de6fe2f86b009df620f7cdb07c262cc17070d (patch)
treee9718ebeeef39485a51a9f8e3c8122da18c796cf /include/linux/tracepoint.h
parent9bbce32a20d6a72c767a7f85fd6127babd1410ac (diff)
parentfbfa463be8dc7957ee4f81556e9e1ea2a951807d (diff)
downloadlinux-857de6fe2f86b009df620f7cdb07c262cc17070d.tar.xz
Merge branch 'fixes-v5.11' into fixes
Diffstat (limited to 'include/linux/tracepoint.h')
-rw-r--r--include/linux/tracepoint.h12
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);