From 5782afe481dc0be991170aeb0f1339fab78b35f3 Mon Sep 17 00:00:00 2001 From: Azyr Ruthless Date: Sat, 8 Nov 2025 08:56:18 +0700 Subject: [PATCH] kernel: add __poll_t compat for pre-4.16 and backported kernels (#194) __poll_t was introduced in v4.16-rc1. Add Makefile header check to detect and provide fallback for older kernels and those with backports. Signed-off-by: AzyrRuthless --- kernel/Makefile | 5 +++++ kernel/file_wrapper.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/kernel/Makefile b/kernel/Makefile index 02927cef..a14671eb 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -119,6 +119,11 @@ ifeq ($(shell grep -q "inode_security_struct\s\+\*selinux_inode" $(srctree)/secu ccflags-y += -DKSU_OPTIONAL_SELINUX_INODE endif +# Check if __poll_t is available +ifeq ($(shell grep -q "__poll_t" $(srctree)/include/linux/poll.h; echo $$?),1) +ccflags-y += -DKSU_NEED_POLL_T_DEF +endif + # Checks Samsung ifeq ($(shell grep -q "CONFIG_KDP_CRED" $(srctree)/kernel/cred.c; echo $$?),0) ccflags-y += -DSAMSUNG_UH_DRIVER_EXIST diff --git a/kernel/file_wrapper.c b/kernel/file_wrapper.c index 4030f1db..0e00d8d7 100644 --- a/kernel/file_wrapper.c +++ b/kernel/file_wrapper.c @@ -20,6 +20,10 @@ #include "file_wrapper.h" +#ifdef KSU_NEED_POLL_T_DEF +typedef unsigned __bitwise __poll_t; +#endif + static loff_t mksu_wrapper_llseek(struct file *fp, loff_t off, int flags) { struct ksu_file_wrapper *data = fp->private_data;