
Some vendors want to add a field when a 'sruct sock' is added so give a hook to handle this. Any memory allocated when trace_android_rvh_sk_alloc() is called needs to be freed when trace_android_rvh_sk_free() is called. Note, if trace_android_rvh_sk_alloc() fails, be sure to be able to handle this in trace_android_rvh_sk_free(), but that should not be an issue as that needs to be addressed in vendor code that runs for 'struct sock' 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: I108a2f31d2dcc228f46159816deee6235afafbbd
37 lines
1.1 KiB
C
37 lines
1.1 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 <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;
|
|
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>
|