svn commit: r348240 - in stable/12/sys/compat/linuxkpi/common: include/linux src
Johannes Lundberg
johalun at FreeBSD.org
Fri May 24 15:37:56 UTC 2019
Author: johalun
Date: Fri May 24 15:37:54 2019
New Revision: 348240
URL: https://svnweb.freebsd.org/changeset/base/348240
Log:
MFC r347837:
LinuxKPI: Update access_ok macro for v5.0.
Check LINUXKPI_VERSION macro for backwards compatibility.
It's recommended to update any drivers that depend on the older KPI
so we can deprecate < 5.0 code as we update to newer Linux version.
This patch is part of D19565
Reviewed by: hps
Approved by: imp (mentor), hps
Modified:
stable/12/sys/compat/linuxkpi/common/include/linux/uaccess.h
stable/12/sys/compat/linuxkpi/common/src/linux_compat.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/compat/linuxkpi/common/include/linux/uaccess.h
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/include/linux/uaccess.h Fri May 24 15:21:23 2019 (r348239)
+++ stable/12/sys/compat/linuxkpi/common/include/linux/uaccess.h Fri May 24 15:37:54 2019 (r348240)
@@ -60,12 +60,17 @@
#define get_user(_x, _p) linux_copyin((_p), &(_x), sizeof(*(_p)))
#define put_user(_x, _p) __put_user(_x, _p)
#define clear_user(...) linux_clear_user(__VA_ARGS__)
-#define access_ok(...) linux_access_ok(__VA_ARGS__)
+#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 50000
+#define access_ok(a,b) linux_access_ok(a,b)
+#else
+#define access_ok(a,b,c) linux_access_ok(b,c)
+#endif
+
extern int linux_copyin(const void *uaddr, void *kaddr, size_t len);
extern int linux_copyout(const void *kaddr, void *uaddr, size_t len);
extern size_t linux_clear_user(void *uaddr, size_t len);
-extern int linux_access_ok(int rw, const void *uaddr, size_t len);
+extern int linux_access_ok(const void *uaddr, size_t len);
/*
* NOTE: Each pagefault_disable() call must have a corresponding
Modified: stable/12/sys/compat/linuxkpi/common/src/linux_compat.c
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/src/linux_compat.c Fri May 24 15:21:23 2019 (r348239)
+++ stable/12/sys/compat/linuxkpi/common/src/linux_compat.c Fri May 24 15:37:54 2019 (r348240)
@@ -897,7 +897,7 @@ linux_clear_user(void *_uaddr, size_t _len)
}
int
-linux_access_ok(int rw, const void *uaddr, size_t len)
+linux_access_ok(const void *uaddr, size_t len)
{
uintptr_t saddr;
uintptr_t eaddr;
More information about the svn-src-all
mailing list