To avoid changing the visibiliy of data types when including hook definition headers remove header file inclusions from the hook definition header files. Instead, the hook definition headers should just have forward declarations that don't require full definition. To provide full definitions of the types for the KMI, the headers that define the types should be included by the source file that instantiates the hooks - normally vendor_hooks.c. Since the KMI is frozen, some of the inclusions are still required to preserve the CRC associated with symbols. Keep these inclusions under #ifdef __GENKSYMS__. Bug: 233047575 Signed-off-by: Todd Kjos <tkjos@google.com> Change-Id: Ibc1173eb4b07fcec21c7abd8e0ab1950b3fb5b34
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM net
|
|
#define TRACE_INCLUDE_PATH trace/hooks
|
|
|
|
#if !defined(_TRACE_HOOK_NET_VH_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_HOOK_NET_VH_H
|
|
#include <trace/hooks/vendor_hooks.h>
|
|
|
|
#ifdef __GENKSYMS__
|
|
#include <linux/netdevice.h>
|
|
#include <linux/skbuff.h>
|
|
#include <linux/types.h>
|
|
#endif
|
|
|
|
struct packet_type;
|
|
struct sk_buff;
|
|
struct list_head;
|
|
|
|
DECLARE_HOOK(android_vh_ptype_head,
|
|
TP_PROTO(const struct packet_type *pt, struct list_head *vendor_pt),
|
|
TP_ARGS(pt, vendor_pt));
|
|
DECLARE_HOOK(android_vh_kfree_skb,
|
|
TP_PROTO(struct sk_buff *skb), TP_ARGS(skb));
|
|
|
|
struct nf_conn;
|
|
struct sock;
|
|
DECLARE_RESTRICTED_HOOK(android_rvh_nf_conn_alloc,
|
|
TP_PROTO(struct nf_conn *nf_conn), TP_ARGS(nf_conn), 1);
|
|
DECLARE_RESTRICTED_HOOK(android_rvh_nf_conn_free,
|
|
TP_PROTO(struct nf_conn *nf_conn), TP_ARGS(nf_conn), 1);
|
|
DECLARE_RESTRICTED_HOOK(android_rvh_sk_alloc,
|
|
TP_PROTO(struct sock *sock), TP_ARGS(sock), 1);
|
|
DECLARE_RESTRICTED_HOOK(android_rvh_sk_free,
|
|
TP_PROTO(struct sock *sock), TP_ARGS(sock), 1);
|
|
|
|
/* macro versions of hooks are no longer required */
|
|
|
|
#endif /* _TRACE_HOOK_NET_VH_H */
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|