From d1c067e01be4ec60498cc6db263cdd07382a2998 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 6 Jan 2024 10:35:17 +0100 Subject: [PATCH] package/optee-client: fix build with kernel < 4.16 Fix the following build failure with kernel < 4.16 raised since bump to version 4.0.0 in commit 8a8fa2006846cd3480741f03372e17fedb811898 and https://github.com/OP-TEE/optee_client/commit/3ac968ee7c927271e83ea3a4247839649202ab5e: /home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c: In function 'register_local_shm': /home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c:356:44: error: storage size of 'data' isn't known 356 | struct tee_ioctl_shm_register_data data; | ^~~~ Fixes: - http://autobuild.buildroot.org/results/d63eb7c8574366377760f5ab2eaec02f46173975 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- ...upplicant-fix-build-with-kernel-4.16.patch | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch diff --git a/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch b/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch new file mode 100644 index 0000000000..fa51bd5d5e --- /dev/null +++ b/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch @@ -0,0 +1,56 @@ +From acc5aec37f5f246ebf185d2129e7630eb80bb388 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 5 Jan 2024 09:47:43 +0100 +Subject: [PATCH] tee-supplicant: fix build with kernel < 4.16 + +Commit 3ac968ee7c927271e83ea3a4247839649202ab5e moved linux/tee.h from +libteec/include to libteec/src resulting in the following build failure +with any kernel < 4.16 (i.e before +https://github.com/torvalds/linux/commit/033ddf12bcf5326b93bd604f50a7474a434a35f9): + +/home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c: In function 'register_local_shm': +/home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c:356:44: error: storage size of 'data' isn't known + 356 | struct tee_ioctl_shm_register_data data; + | ^~~~ + +To fix this build failure, update CMakeLists.txt and Makefile of +tee-supplicant to add libteec/src to the include directories. + +Fixes: 3ac968ee7c92 ("Makefile, cmake: move teec related headers") + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/OP-TEE/optee_client/pull/369 +--- + tee-supplicant/CMakeLists.txt | 5 ++++- + tee-supplicant/Makefile | 2 +- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tee-supplicant/CMakeLists.txt b/tee-supplicant/CMakeLists.txt +index 31c6dac5..b44e9e95 100644 +--- a/tee-supplicant/CMakeLists.txt ++++ b/tee-supplicant/CMakeLists.txt +@@ -93,7 +93,10 @@ endif() + ################################################################################ + # Public and private header and library dependencies + ################################################################################ +-target_include_directories(${PROJECT_NAME} PRIVATE src) ++target_include_directories(${PROJECT_NAME} ++ PRIVATE src ++ PRIVATE ../libteec/src ++) + + target_link_libraries(${PROJECT_NAME} + PRIVATE teec +diff --git a/tee-supplicant/Makefile b/tee-supplicant/Makefile +index 06c4b2e5..c3b32252 100644 +--- a/tee-supplicant/Makefile ++++ b/tee-supplicant/Makefile +@@ -40,7 +40,7 @@ TEES_OBJ_DIR := $(OUT_DIR) + TEES_OBJS := $(patsubst %.c,$(TEES_OBJ_DIR)/%.o, $(TEES_SRCS)) + TEES_INCLUDES := ${CURDIR}/../libteec/include \ + ${CURDIR}/src \ +- ${CURDIR}/../libteec/include \ ++ ${CURDIR}/../libteec/src \ + + TEES_CFLAGS := $(addprefix -I, $(TEES_INCLUDES)) $(CFLAGS) \ + -DDEBUGLEVEL_$(CFG_TEE_SUPP_LOG_LEVEL) \