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
25 lines
567 B
C
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);
|
|
|