Files
msm-5.15/block/vendor_hooks.c
Todd Kjos 0c3d2d04cc ANDROID: make sure all types for hooks are defined in KMI
There were 3 remaining types directly referenced by vendor
hooks that were not fully-defined in the KMI:

struct blk_mq_alloc_data : defined in block/blk-mq.h
struct readahead_control ; defined include/linux/pagemap.h
struct selinux_state : defined in security/selinux/include/security.h

libabigail is not finding definitions based on the instantiation
of the hooks, so force them to be defined by defining dummy exported
symbols. Since blk_mq_alloc_data and selinux_state are defined in
subsystem-private headers, create new vendor_hooks.c files in
those subsystems to instantiate the related hooks and the dummy
symbols.

Bug: 233047575
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ib228449ff500dd5cbffd5788effdab5c581b65b7
2022-09-21 16:33:58 +00:00

25 lines
567 B
C

// SPDX-License-Identifier: GPL-2.0-only
/* vendor_hook.c
*
* Copyright 2022 Google LLC
*/
#include "blk.h"
#include "blk-mq-tag.h"
#include "blk-mq.h"
#include <linux/blk-mq.h>
#define CREATE_TRACE_POINTS
#include <trace/hooks/vendor_hooks.h>
#include <linux/tracepoint.h>
#include <trace/hooks/block.h>
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_alloc_rqs);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_rq_ctx_init);
/*
* For type visibility
*/
const struct blk_mq_alloc_data *GKI_struct_blk_mq_alloc_data;
EXPORT_SYMBOL_GPL(GKI_struct_blk_mq_alloc_data);