1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
--- driver/8250_core.c.orig 2018-06-11 10:29:19.000000000 -0400
+++ driver/8250_core.c 2019-03-10 20:36:57.151744874 -0400
@@ -4051,16 +4051,22 @@ serial8250_register_ports(struct uart_dr
static inline int pci_portnum_cti(struct uart_port *port)
{
return (port->iobase % 0x100) / 0x08;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)
+#define compat_access_ok(u,v,w) access_ok(v,w)
+#else
+#define compat_access_ok(u,v,w) access_ok(u,v,w)
+#endif
+
static int get_lmode_from_arg(unsigned int *value){
int lmode;
//use copy_from_user if userspace pointer is valid
- if(access_ok(VERIFY_READ, (void __user *)value, sizeof(int))){
+ if(compat_access_ok(VERIFY_READ, (void __user *)value, sizeof(int))){
if(copy_from_user(&lmode, (void __user *)value, sizeof(int))){
return -EFAULT;
};
return lmode;
}
|