ANDROID: fix redefinition error for restricted vendor hooks
Because of the multi-inclusion oddities of tracepoints, the
multi-inclusion protection in vendor_hooks.h caused issues
if more than 1 vendor hook header file with restricted vendor
hooks defined were included with "CREATE_TRACE_POINTS"
defined (redefinition of symbol errors).
The problem is fixed by removing the multiple-inclusion
protection as is done for regular tracepoints.
Fixes: 5965ee663d66 ("ANDROID: add support for vendor hooks")
Bug: 163076069
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ic177db1693a6a2db58f08917e9115c7e6c2971b6
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#if !defined(_TRACE_VENDOR_HOOKS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_VENDOR_HOOKS_H
|
||||
/*
|
||||
* Note: we intentionally omit include file ifdef protection
|
||||
* This is due to the way trace events work. If a file includes two
|
||||
* trace event headers under one "CREATE_TRACE_POINTS" the first include
|
||||
* will override the DECLARE_RESTRICTED_HOOK and break the second include.
|
||||
*/
|
||||
|
||||
#include <linux/tracepoint.h>
|
||||
|
||||
@@ -13,6 +17,7 @@
|
||||
#define DECLARE_RESTRICTED_HOOK(name, proto, args, cond) \
|
||||
DEFINE_TRACE(name)
|
||||
|
||||
|
||||
/* prevent additional recursion */
|
||||
#undef TRACE_HEADER_MULTI_READ
|
||||
#else /* TRACE_HEADER_MULTI_READ */
|
||||
@@ -61,6 +66,7 @@
|
||||
} \
|
||||
/* vendor hooks cannot be unregistered */ \
|
||||
|
||||
#undef DECLARE_RESTRICTED_HOOK
|
||||
#define DECLARE_RESTRICTED_HOOK(name, proto, args, cond) \
|
||||
__DECLARE_HOOK(name, PARAMS(proto), PARAMS(args), \
|
||||
cond, \
|
||||
@@ -68,5 +74,3 @@
|
||||
PARAMS(__data, args))
|
||||
|
||||
#endif /* TRACE_HEADER_MULTI_READ */
|
||||
|
||||
#endif /* _TRACE_VENDOR_HOOKS_H */
|
||||
|
||||
Reference in New Issue
Block a user