
Some vendors want to add a field when a 'sruct nf_conn' is added so give a hook to handle this. Any memory allocated when trace_android_rvh_nf_conn_alloc() is called needs to be freed when trace_android_rvh_nf_conn_free() is called. Note, if trace_android_rvh_nf_conn_alloc() fails, be sure to be able to handle this in trace_android_rvh_nf_conn_free(), but that should not be an issue as that needs to be addressed in vendor code that runs for 'struct nf_conn' objects that have been created before the vendor code is loaded no matter what. Bug: 171013716 Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com> Change-Id: I4d2b025196a3df7ba4adec313c90483811cac728
32 lines
960 B
C
32 lines
960 B
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 <linux/tracepoint.h>
|
|
#include <trace/hooks/vendor_hooks.h>
|
|
|
|
struct packet_type;
|
|
struct list_head;
|
|
struct sk_buff;
|
|
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;
|
|
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);
|
|
|
|
/* 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>
|