From 796ae7139159e2e12045aa5908f7e2c05848801d Mon Sep 17 00:00:00 2001 From: Spencer Willett Date: Fri, 4 Nov 2022 10:46:09 -0700 Subject: [PATCH] securemsm-kernel: exposing smcinvoke headers We are exposing headers present in "include/linux" for the rest of the kernel DLKM's. These changes allow for other kernel teams to access these headers. CRS-Fixed: 3338788 Change-Id: I5926ddeee8541398b32010db0b01af529b19fa3e --- Android.bp | 16 ++++++++-------- Android.mk | 2 ++ Kbuild | 3 ++- {linux => include/linux}/IClientEnv.h | 2 ++ {linux => include/linux}/smcinvoke.h | 0 {linux => include/linux}/smcinvoke_object.h | 0 6 files changed, 14 insertions(+), 9 deletions(-) rename {linux => include/linux}/IClientEnv.h (98%) rename {linux => include/linux}/smcinvoke.h (100%) rename {linux => include/linux}/smcinvoke_object.h (100%) diff --git a/Android.bp b/Android.bp index a53dcbbc40..20996e32e1 100644 --- a/Android.bp +++ b/Android.bp @@ -1,13 +1,13 @@ headers_src = [ - "linux/smc*ke.h", - "linux/smc*_object.h", - "linux/IClientE*v.h", + "include/linux/smc*ke.h", + "include/linux/smc*_object.h", + "include/linux/IClientE*v.h", ] smcinvoke_headers_out = [ - "linux/smcinvoke.h", - "linux/smcinvoke_object.h", - "linux/IClientEnv.h", + "include/linux/smcinvoke.h", + "include/linux/smcinvoke_object.h", + "include/linux/IClientEnv.h", ] smcinvoke_kernel_headers_verbose = "--verbose " @@ -25,7 +25,7 @@ genrule { smcinvoke_kernel_headers_verbose + "--header_arch arm64 " + "--gen_dir $(genDir) " + - "--smcinvoke_headers_to_expose $(locations linux/smc*ke.h) $(locations linux/smc*_object.h) $(locations linux/IClientE*v.h) " + + "--smcinvoke_headers_to_expose $(locations include/linux/smc*ke.h) $(locations include/linux/smc*_object.h) $(locations include/linux/IClientE*v.h) " + "--unifdef $(location unifdef) " + "--headers_install $(location headers_install.sh)", out: smcinvoke_headers_out, @@ -34,7 +34,7 @@ genrule { cc_library_headers { name: "smcinvoke_kernel_headers", - export_include_dirs: ["."], + export_include_dirs: ["include"], generated_headers: ["qti_generate_smcinvoke_kernel_headers"], export_generated_headers: ["qti_generate_smcinvoke_kernel_headers"], vendor: true, diff --git a/Android.mk b/Android.mk index 08c958c393..b7acfe5872 100644 --- a/Android.mk +++ b/Android.mk @@ -16,6 +16,8 @@ DLKM_DIR := $(TOP)/device/qcom/common/dlkm SEC_KERNEL_DIR := $(TOP)/vendor/qcom/opensource/securemsm-kernel +LOCAL_EXPORT_KO_INCLUDE_DIRS := $(LOCAL_PATH)/include/ + SSG_SRC_FILES := \ $(wildcard $(LOCAL_PATH)/*) \ $(wildcard $(LOCAL_PATH)/*/*) \ diff --git a/Kbuild b/Kbuild index a278f9cccd..c69c95679d 100644 --- a/Kbuild +++ b/Kbuild @@ -1,5 +1,6 @@ LINUXINCLUDE += -I$(SSG_MODULE_ROOT)/ \ - -I$(SSG_MODULE_ROOT)/linux/ + -I$(SSG_MODULE_ROOT)/linux/ \ + -I$(SSG_MODULE_ROOT)/include/linux/ ifneq ($(CONFIG_ARCH_QTI_VM), y) LINUXINCLUDE += -include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig.h diff --git a/linux/IClientEnv.h b/include/linux/IClientEnv.h similarity index 98% rename from linux/IClientEnv.h rename to include/linux/IClientEnv.h index bf2f240729..7ab7ba7eca 100644 --- a/linux/IClientEnv.h +++ b/include/linux/IClientEnv.h @@ -12,6 +12,8 @@ #define IClientEnv_OP_notifyDomainChange 4 #define IClientEnv_OP_registerWithCredentials 5 +#include "smcinvoke_object.h" + static inline int32_t IClientEnv_release(struct Object self) { diff --git a/linux/smcinvoke.h b/include/linux/smcinvoke.h similarity index 100% rename from linux/smcinvoke.h rename to include/linux/smcinvoke.h diff --git a/linux/smcinvoke_object.h b/include/linux/smcinvoke_object.h similarity index 100% rename from linux/smcinvoke_object.h rename to include/linux/smcinvoke_object.h