@@ -107,7 +107,7 @@ struct file *ksu_filp_open_compat(const char *filename, int flags, umode_t mode)
107107ssize_t  ksu_kernel_read_compat (struct  file  * p , void  * buf , size_t  count ,
108108			       loff_t  * pos )
109109{
110- #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (4 , 14 , 0 )
110+ #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (4 , 14 , 0 )  ||  defined( KSU_NEW_KERNEL_READ ) 
111111	return  kernel_read (p , buf , count , pos );
112112#else 
113113	loff_t  offset  =  pos  ? * pos  : 0 ;
@@ -122,7 +122,7 @@ ssize_t ksu_kernel_read_compat(struct file *p, void *buf, size_t count,
122122ssize_t  ksu_kernel_write_compat (struct  file  * p , const  void  * buf , size_t  count ,
123123				loff_t  * pos )
124124{
125- #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (4 , 14 , 0 )
125+ #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (4 , 14 , 0 )  ||  defined( KSU_NEW_KERNEL_WRITE ) 
126126	return  kernel_write (p , buf , count , pos );
127127#else 
128128	loff_t  offset  =  pos  ? * pos  : 0 ;
@@ -134,20 +134,19 @@ ssize_t ksu_kernel_write_compat(struct file *p, const void *buf, size_t count,
134134#endif 
135135}
136136
137- #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (5 , 8 , 0 )
137+ #if  LINUX_VERSION_CODE  >= KERNEL_VERSION (5 , 8 , 0 )  ||  defined( KSU_STRNCPY_FROM_USER_NOFAULT ) 
138138long  ksu_strncpy_from_user_nofault (char  * dst , const  void  __user  * unsafe_addr ,
139139				   long  count )
140140{
141141	return  strncpy_from_user_nofault (dst , unsafe_addr , count );
142142}
143- #elif  LINUX_VERSION_CODE  >= KERNEL_VERSION (5 , 3 , 0 )
143+ #elif  LINUX_VERSION_CODE  >= KERNEL_VERSION (5 , 3 , 0 )  ||  defined( KSU_STRNCPY_FROM_UNSAFE_USER ) 
144144long  ksu_strncpy_from_user_nofault (char  * dst , const  void  __user  * unsafe_addr ,
145145				   long  count )
146146{
147147	return  strncpy_from_unsafe_user (dst , unsafe_addr , count );
148148}
149- #else 
150- // Copied from: https://elixir.bootlin.com/linux/v4.9.337/source/mm/maccess.c#L201 
149+ #else  // Copied from: https://elixir.bootlin.com/linux/v4.9.337/source/mm/maccess.c#L201 
151150long  ksu_strncpy_from_user_nofault (char  * dst , const  void  __user  * unsafe_addr ,
152151				   long  count )
153152{
0 commit comments