ANDROID: remove inclusions from hook definition headers
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
This commit is contained in:
@@ -6,6 +6,12 @@
|
||||
* Copyright 2020 Google LLC
|
||||
*/
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
#include <../kernel/printk/printk_ringbuffer.h>
|
||||
#include <uapi/linux/android/binder.h>
|
||||
#include <linux/timekeeper_internal.h>
|
||||
#endif
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
#include <linux/tracepoint.h>
|
||||
|
||||
@@ -9,12 +9,15 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct snd_usb_audio */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../sound/usb/usbaudio.h>
|
||||
/* struct usb_interface */
|
||||
#include <linux/usb.h>
|
||||
/* struct snd_pcm_substream */
|
||||
#include <sound/pcm.h>
|
||||
#endif
|
||||
|
||||
struct snd_usb_audio;
|
||||
struct usb_interface;
|
||||
struct snd_pcm_substream;
|
||||
|
||||
DECLARE_HOOK(android_vh_audio_usb_offload_vendor_set,
|
||||
TP_PROTO(void *arg),
|
||||
|
||||
@@ -10,12 +10,18 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct binder_proc, struct binder_thread, struct binder_transaction */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../drivers/android/binder_internal.h>
|
||||
/* struct task_struct */
|
||||
#include <linux/sched.h>
|
||||
/* struct binder_transaction_data */
|
||||
#include <uapi/linux/android/binder.h>
|
||||
#endif
|
||||
|
||||
struct binder_proc;
|
||||
struct binder_thread;
|
||||
struct binder_transaction;
|
||||
struct binder_transaction_data;
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_binder_transaction_init,
|
||||
TP_PROTO(struct binder_transaction *t),
|
||||
TP_ARGS(t));
|
||||
|
||||
@@ -10,12 +10,15 @@
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct blk_mq_tags */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../block/blk-mq-tag.h>
|
||||
/* struct blk_mq_alloc_data */
|
||||
#include <../block/blk-mq.h>
|
||||
/* struct blk_mq_tag_set */
|
||||
#include <linux/blk-mq.h>
|
||||
#endif
|
||||
|
||||
struct blk_mq_tags;
|
||||
struct blk_mq_alloc_data;
|
||||
struct blk_mq_tag_set;
|
||||
|
||||
DECLARE_HOOK(android_vh_blk_alloc_rqs,
|
||||
TP_PROTO(size_t *rq_size, struct blk_mq_tag_set *set,
|
||||
|
||||
@@ -8,7 +8,13 @@
|
||||
#define _TRACE_HOOK_CFG80211_H
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <net/cfg80211.h>
|
||||
#endif
|
||||
|
||||
struct wiphy;
|
||||
struct wireless_dev;
|
||||
|
||||
DECLARE_HOOK(android_vh_cfg80211_set_context,
|
||||
TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, int context_id,
|
||||
|
||||
@@ -7,17 +7,18 @@
|
||||
#define _TRACE_HOOK_CGROUP_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../kernel/cgroup/cgroup-internal.h>
|
||||
#include <linux/cgroup-defs.h>
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct cgroup;
|
||||
struct cgroup_taskset;
|
||||
struct cgroup_subsys;
|
||||
#else
|
||||
/* struct cgroup_taskset */
|
||||
#include <../kernel/cgroup/cgroup-internal.h>
|
||||
#endif
|
||||
/* struct cgroup_subsys */
|
||||
#include <linux/cgroup-defs.h>
|
||||
/* struct task_struct */
|
||||
#include <linux/sched.h>
|
||||
struct cgroup_subsys_state;
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_cgroup_set_task,
|
||||
TP_PROTO(int ret, struct task_struct *task),
|
||||
TP_ARGS(ret, task));
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
|
||||
#if !defined(_TRACE_HOOK_CPUFREQ_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_CPUFREQ_H
|
||||
|
||||
#include <linux/cpufreq.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpufreq.h>
|
||||
#endif
|
||||
|
||||
struct cpufreq_policy;
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_show_max_freq,
|
||||
TP_PROTO(struct cpufreq_policy *policy, unsigned int *max_freq),
|
||||
TP_ARGS(policy, max_freq), 1);
|
||||
|
||||
@@ -9,8 +9,11 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct cpuidle_device */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpuidle.h>
|
||||
#endif
|
||||
|
||||
struct cpuidle_device;
|
||||
|
||||
DECLARE_HOOK(android_vh_cpu_idle_enter,
|
||||
TP_PROTO(int *state, struct cpuidle_device *dev),
|
||||
|
||||
@@ -10,8 +10,12 @@
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
|
||||
/* struct cpuidle_device */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpuidle.h>
|
||||
#endif
|
||||
|
||||
struct cpuidle_device;
|
||||
|
||||
DECLARE_HOOK(android_vh_cpuidle_psci_enter,
|
||||
TP_PROTO(struct cpuidle_device *dev, bool s2idle),
|
||||
TP_ARGS(dev, s2idle));
|
||||
|
||||
@@ -10,10 +10,15 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct cred */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cred.h>
|
||||
/* struct task_struct */
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct cred;
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_commit_creds,
|
||||
TP_PROTO(const struct task_struct *task, const struct cred *new),
|
||||
TP_ARGS(task, new), 1);
|
||||
|
||||
@@ -9,17 +9,15 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
|
||||
/* struct pt_regs */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <asm/ptrace.h>
|
||||
#endif
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
DECLARE_HOOK(android_vh_ipi_stop,
|
||||
TP_PROTO(struct pt_regs *regs),
|
||||
TP_ARGS(regs))
|
||||
#else
|
||||
#define trace_android_vh_ipi_stop(regs)
|
||||
#define trace_android_vh_ipi_stop_rcuidle(regs)
|
||||
#endif
|
||||
|
||||
#endif /* _TRACE_HOOK_DEBUG_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -11,8 +11,12 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct dma_buf */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/dma-buf.h>
|
||||
#endif
|
||||
|
||||
struct dma_buf;
|
||||
|
||||
DECLARE_HOOK(android_vh_dma_buf_release,
|
||||
TP_PROTO(struct dma_buf *data),
|
||||
TP_ARGS(data));
|
||||
|
||||
@@ -11,10 +11,14 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct drm_atomic_state */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <drm/drm_atomic.h>
|
||||
/* struct drm_crtc */
|
||||
#include <drm/drm_crtc.h>
|
||||
#endif
|
||||
|
||||
struct drm_atomic_state;
|
||||
struct drm_crtc;
|
||||
|
||||
DECLARE_HOOK(android_vh_drm_atomic_check_modeset,
|
||||
TP_PROTO(struct drm_atomic_state *state, struct drm_crtc *crtc, bool *allow),
|
||||
TP_ARGS(state, crtc, allow))
|
||||
|
||||
@@ -11,8 +11,12 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct drm_framebuffer */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <drm/drm_framebuffer.h>
|
||||
#endif
|
||||
|
||||
struct drm_framebuffer;
|
||||
|
||||
DECLARE_HOOK(android_vh_atomic_remove_fb,
|
||||
TP_PROTO(struct drm_framebuffer *fb, bool *allow),
|
||||
TP_ARGS(fb, allow))
|
||||
|
||||
@@ -10,14 +10,19 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct mutex */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/mutex.h>
|
||||
/* struct rt_mutex_base */
|
||||
#include <linux/rtmutex.h>
|
||||
/* struct rw_semaphore */
|
||||
#include <linux/rwsem.h>
|
||||
/* struct task_struct */
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct mutex;
|
||||
struct rt_mutex_base;
|
||||
struct rw_semaphore;
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_mutex_wait_start,
|
||||
TP_PROTO(struct mutex *lock),
|
||||
TP_ARGS(lock));
|
||||
|
||||
@@ -7,8 +7,12 @@
|
||||
#define _TRACE_HOOK_FAULT_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct pt_regs */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <asm/ptrace.h>
|
||||
#endif
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_die_kernel_fault,
|
||||
TP_PROTO(const char *msg, unsigned long addr, unsigned int esr, struct pt_regs *regs),
|
||||
TP_ARGS(msg, addr, esr, regs), 1);
|
||||
|
||||
@@ -7,8 +7,11 @@
|
||||
#define _TRACE_HOOK_FIPS140_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct crypto_aes_ctx */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <crypto/aes.h>
|
||||
#endif
|
||||
|
||||
struct crypto_aes_ctx;
|
||||
|
||||
/*
|
||||
* These hooks exist only for the benefit of the FIPS140 crypto module, which
|
||||
|
||||
@@ -9,8 +9,11 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct task_struct */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_is_fpsimd_save,
|
||||
TP_PROTO(struct task_struct *prev, struct task_struct *next),
|
||||
|
||||
@@ -6,11 +6,14 @@
|
||||
|
||||
#if !defined(_TRACE_HOOK_FTRACE_DUMP_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_FTRACE_DUMP_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/trace_seq.h>
|
||||
#include <linux/trace_events.h>
|
||||
#endif
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
struct trace_seq;
|
||||
|
||||
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
|
||||
|
||||
|
||||
@@ -6,11 +6,17 @@
|
||||
#if !defined(_TRACE_HOOK_FUTEX_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_FUTEX_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
#include <linux/plist.h>
|
||||
|
||||
#ifndef __GENKSYMS__
|
||||
#include <linux/plist.h>
|
||||
#include <linux/futex.h>
|
||||
#endif
|
||||
|
||||
struct plist_node;
|
||||
struct plist_head;
|
||||
struct task_struct;
|
||||
union futex_key;
|
||||
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
|
||||
@@ -9,12 +9,15 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct cpumask */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpumask.h>
|
||||
/* struct irq_data */
|
||||
#include <linux/irq.h>
|
||||
/* struct irq_domain */
|
||||
#include <linux/irqdomain.h>
|
||||
#endif
|
||||
|
||||
struct cpumask;
|
||||
struct irq_data;
|
||||
struct irq_domain;
|
||||
|
||||
DECLARE_HOOK(android_vh_gic_v2_resume,
|
||||
TP_PROTO(struct irq_domain *domain, void __iomem *dist_base),
|
||||
|
||||
@@ -9,12 +9,16 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct cpumask */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpumask.h>
|
||||
/* struct irq_data */
|
||||
#include <linux/irq.h>
|
||||
/* struct gic_chip_data */
|
||||
#include <linux/irqchip/arm-gic-v3.h>
|
||||
#endif
|
||||
|
||||
struct cpumask;
|
||||
struct irq_data;
|
||||
struct gic_chip_data;
|
||||
|
||||
DECLARE_HOOK(android_vh_gic_v3_affinity_init,
|
||||
TP_PROTO(int irq, u32 offset, u64 *affinity),
|
||||
|
||||
@@ -6,13 +6,16 @@
|
||||
|
||||
#if !defined(_TRACE_HOOK_IOMMU_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_IOMMU_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct iova_domain */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/iova.h>
|
||||
#endif
|
||||
|
||||
struct iova_domain;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_iommu_setup_dma_ops,
|
||||
TP_PROTO(struct device *dev, u64 dma_base, u64 dma_limit),
|
||||
TP_ARGS(dev, dma_base, dma_limit), 1);
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
struct sock;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_tcp_sendmsg_locked,
|
||||
TP_PROTO(struct sock *sk, int size),
|
||||
TP_ARGS(sk, size), 1);
|
||||
|
||||
@@ -9,8 +9,12 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct printk_record, struct printk_ringbuffer */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../kernel/printk/printk_ringbuffer.h>
|
||||
#endif
|
||||
|
||||
struct printk_record;
|
||||
struct printk_ringbuffer;
|
||||
|
||||
DECLARE_HOOK(android_vh_logbuf,
|
||||
TP_PROTO(struct printk_ringbuffer *rb, struct printk_record *r),
|
||||
|
||||
@@ -16,15 +16,19 @@
|
||||
#if !defined(_TRACE_HOOK_MM_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_MM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/types.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/oom.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
#include <linux/rwsem.h>
|
||||
|
||||
/* struct slabinfo */
|
||||
#include <../mm/slab.h>
|
||||
#endif
|
||||
|
||||
struct oom_control;
|
||||
struct slabinfo;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_set_skip_swapcache_flags,
|
||||
TP_PROTO(gfp_t *flags),
|
||||
TP_ARGS(flags), 1);
|
||||
|
||||
@@ -6,14 +6,18 @@
|
||||
#if !defined(_TRACE_HOOK_MMC_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_MMC_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
/* struct blk_mq_queue_data */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/blk-mq.h>
|
||||
/* struct mmc_host */
|
||||
#include <linux/mmc/host.h>
|
||||
/* struct mmc_card */
|
||||
#include <linux/mmc/card.h>
|
||||
/* struct sdhci_host */
|
||||
#include "../../drivers/mmc/host/sdhci.h"
|
||||
#endif
|
||||
|
||||
struct blk_mq_queue_data;
|
||||
struct mmc_host;
|
||||
struct mmc_card;
|
||||
struct sdhci_host;
|
||||
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct module */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/module.h>
|
||||
#endif
|
||||
|
||||
struct module;
|
||||
|
||||
DECLARE_HOOK(android_vh_set_module_permit_before_init,
|
||||
TP_PROTO(const struct module *mod),
|
||||
TP_ARGS(mod));
|
||||
|
||||
@@ -10,8 +10,12 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct task_struct */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_mpam_set,
|
||||
TP_PROTO(struct task_struct *prev, struct task_struct *next),
|
||||
TP_ARGS(prev, next));
|
||||
|
||||
@@ -8,12 +8,16 @@
|
||||
#define _TRACE_HOOK_NET_VH_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct packet_type */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/netdevice.h>
|
||||
/* struct sk_buff */
|
||||
#include <linux/skbuff.h>
|
||||
/* struct list_head */
|
||||
#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));
|
||||
|
||||
@@ -10,8 +10,12 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct generic_pm_domain */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/pm_domain.h>
|
||||
#endif
|
||||
|
||||
struct generic_pm_domain;
|
||||
|
||||
DECLARE_HOOK(android_vh_allow_domain_state,
|
||||
TP_PROTO(struct generic_pm_domain *genpd, uint32_t idx, bool *allow),
|
||||
TP_ARGS(genpd, idx, allow))
|
||||
|
||||
@@ -7,8 +7,15 @@
|
||||
#define _TRACE_HOOK_POWER_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct task_struct */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
/* needed for enum freq_qos_req_type */
|
||||
#include <linux/pm_qos.h>
|
||||
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_try_to_freeze_todo,
|
||||
TP_PROTO(unsigned int todo, unsigned int elapsed_msecs, bool wq_busy),
|
||||
TP_ARGS(todo, elapsed_msecs, wq_busy));
|
||||
|
||||
@@ -8,10 +8,13 @@
|
||||
#define _TRACE_HOOK_REGMAP_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct regmap */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../drivers/base/regmap/internal.h>
|
||||
/* struct regmap_config */
|
||||
#include <linux/regmap.h>
|
||||
#endif
|
||||
|
||||
struct regmap;
|
||||
struct regmap_config;
|
||||
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
#if !defined(_TRACE_HOOK_RPROC_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_RPROC_H
|
||||
|
||||
/* struct rproc */
|
||||
#include <linux/remoteproc.h>
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct rproc */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/remoteproc.h>
|
||||
#endif
|
||||
|
||||
struct rproc;
|
||||
|
||||
/* When recovery succeeds */
|
||||
DECLARE_HOOK(android_vh_rproc_recovery,
|
||||
|
||||
@@ -9,9 +9,14 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
|
||||
/* struct rw_semaphore, struct rwsem_waiter */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/rwsem.h>
|
||||
#endif
|
||||
|
||||
struct rw_semaphore;
|
||||
struct rwsem_waiter;
|
||||
|
||||
DECLARE_HOOK(android_vh_rwsem_init,
|
||||
TP_PROTO(struct rw_semaphore *sem),
|
||||
TP_ARGS(sem));
|
||||
@@ -29,13 +34,7 @@ DECLARE_HOOK(android_vh_alter_rwsem_list_add,
|
||||
DECLARE_HOOK(android_vh_rwsem_wake_finish,
|
||||
TP_PROTO(struct rw_semaphore *sem),
|
||||
TP_ARGS(sem));
|
||||
#else
|
||||
#define trace_android_vh_rwsem_init(sem)
|
||||
#define trace_android_vh_rwsem_wake(sem)
|
||||
#define trace_android_vh_rwsem_write_finished(sem)
|
||||
#define trace_android_vh_alter_rwsem_list_add(waiter, sem, already_on_list)
|
||||
#define trace_android_vh_rwsem_wake_finish(sem)
|
||||
#endif
|
||||
|
||||
#endif /* _TRACE_HOOK_RWSEM_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
/* needed for KMI stability */
|
||||
#include <../kernel/cgroup/cgroup-internal.h>
|
||||
#endif
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_select_task_rq_fair,
|
||||
TP_PROTO(struct task_struct *p, int prev_cpu, int sd_flag, int wake_flags, int *new_cpu),
|
||||
TP_ARGS(p, prev_cpu, sd_flag, wake_flags, new_cpu), 1);
|
||||
|
||||
@@ -7,8 +7,12 @@
|
||||
#define _TRACE_HOOK_SOFTLOCKUP_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct pt_regs */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <asm/ptrace.h>
|
||||
#endif
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
DECLARE_HOOK(android_vh_watchdog_timer_softlockup,
|
||||
TP_PROTO(int duration, struct pt_regs *regs, bool is_panic),
|
||||
TP_ARGS(duration, regs, is_panic));
|
||||
|
||||
@@ -7,8 +7,12 @@
|
||||
#define _TRACE_HOOK_SYS_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct task_struct */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
struct task_struct;
|
||||
|
||||
DECLARE_HOOK(android_vh_syscall_prctl_finished,
|
||||
TP_PROTO(int option, struct task_struct *task),
|
||||
TP_ARGS(option, task));
|
||||
|
||||
@@ -10,10 +10,15 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct file */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/fs.h>
|
||||
/* union bpf_attr */
|
||||
#include <uapi/linux/bpf.h>
|
||||
#endif
|
||||
|
||||
struct file;
|
||||
union bpf_attr;
|
||||
|
||||
DECLARE_HOOK(android_vh_check_mmap_file,
|
||||
TP_PROTO(const struct file *file, unsigned long prot,
|
||||
unsigned long flag, unsigned long ret),
|
||||
|
||||
@@ -8,10 +8,16 @@
|
||||
#define _TRACE_HOOK_THERMAL_H
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
#include <linux/cpufreq.h>
|
||||
|
||||
/* struct thermal_cooling_device, struct thermal_zone_device */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpufreq.h>
|
||||
#include <linux/thermal.h>
|
||||
#endif
|
||||
|
||||
struct cpufreq_policy;
|
||||
struct thermal_cooling_device;
|
||||
struct thermal_zone_device;
|
||||
|
||||
DECLARE_HOOK(android_vh_modify_thermal_request_freq,
|
||||
TP_PROTO(struct cpufreq_policy *policy, unsigned long *request_freq),
|
||||
TP_ARGS(policy, request_freq));
|
||||
|
||||
@@ -9,8 +9,12 @@
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct timekeeper */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/timekeeper_internal.h>
|
||||
#endif
|
||||
|
||||
struct timekeeper;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_tk_based_time_sync,
|
||||
TP_PROTO(struct timekeeper *tk),
|
||||
TP_ARGS(tk), 1);
|
||||
|
||||
@@ -8,7 +8,12 @@
|
||||
#define _TRACE_HOOK_TOPOLOGY_H
|
||||
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/cpumask.h>
|
||||
#endif
|
||||
|
||||
struct cpumask;
|
||||
|
||||
DECLARE_HOOK(android_vh_arch_set_freq_scale,
|
||||
TP_PROTO(const struct cpumask *cpus, unsigned long freq,
|
||||
|
||||
@@ -7,8 +7,12 @@
|
||||
#define _TRACE_HOOK_TRAPS_H
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
/* struct pt_regs */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <asm/ptrace.h>
|
||||
#endif
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_do_undefinstr,
|
||||
TP_PROTO(struct pt_regs *regs),
|
||||
TP_ARGS(regs),
|
||||
|
||||
@@ -9,12 +9,17 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct ufs_hba, struct ufshcd_lrb, struct uic_command */
|
||||
#ifdef __GENKSYMS__
|
||||
#include <../drivers/scsi/ufs/ufshcd.h>
|
||||
/* struct request */
|
||||
#include <linux/blkdev.h>
|
||||
/* struct scsi_device */
|
||||
#include <scsi/scsi_device.h>
|
||||
#endif
|
||||
|
||||
struct ufs_hba;
|
||||
struct ufshcd_lrb;
|
||||
struct uic_command;
|
||||
struct request;
|
||||
struct scsi_device;
|
||||
|
||||
DECLARE_HOOK(android_vh_ufs_fill_prdt,
|
||||
TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp,
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
/* struct usb_device */
|
||||
|
||||
#ifdef __GENKSYMS__
|
||||
#include <linux/usb.h>
|
||||
#endif
|
||||
|
||||
struct usb_device;
|
||||
|
||||
DECLARE_HOOK(android_vh_usb_new_device_added,
|
||||
TP_PROTO(struct usb_device *udev, int *err),
|
||||
TP_ARGS(udev, err));
|
||||
|
||||
Reference in New Issue
Block a user