aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThanos Makatos <thanos.makatos@nutanix.com>2019-11-05 15:11:50 +0000
committerThanos Makatos <thanos.makatos@nutanix.com>2019-11-05 11:10:06 -0500
commit2940ed17585f6b943183bd1209c563bf4ce7ff5f (patch)
treedd57c4506a521474070c2d158681c92ac3c95ce7
parent062f818502cd0c78a7fe25ff2535f047c4030294 (diff)
downloadlibvfio-user-2940ed17585f6b943183bd1209c563bf4ce7ff5f.zip
libvfio-user-2940ed17585f6b943183bd1209c563bf4ce7ff5f.tar.gz
libvfio-user-2940ed17585f6b943183bd1209c563bf4ce7ff5f.tar.bz2
fix compilation for 4.19.67
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
-rw-r--r--kmod/muser.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/kmod/muser.c b/kmod/muser.c
index 60f7a42..d07d473 100644
--- a/kmod/muser.c
+++ b/kmod/muser.c
@@ -28,7 +28,7 @@
#include <linux/pagemap.h>
#include <asm-generic/mman-common.h>
#include <linux/device.h>
-#include <linux/uaccess.h>
+#include <linux/version.h>
#include "muser.h"
@@ -379,16 +379,24 @@ retry:
int muser_create(struct kobject *kobj, struct mdev_device *mdev)
{
- const guid_t *uuid = mdev_uuid(mdev);
-
- return muser_create_dev(uuid, mdev);
+ /* XXX this should be taken out when upstreaming */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(4,19,67)
+ const uuid_le uuid = mdev_uuid(mdev);
+ return muser_create_dev(&uuid, mdev);
+#else
+ return muser_create_dev(mdev_uuid(mdev), mdev);
+#endif
}
int muser_remove(struct mdev_device *mdev)
{
- const guid_t *uuid = mdev_uuid(mdev);
-
- return muser_remove_dev(uuid);
+ /* XXX this should be taken out when upstreaming */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(4,19,67)
+ const uuid_le uuid = mdev_uuid(mdev);
+ return muser_remove_dev(&uuid);
+#else
+ return muser_remove_dev(mdev_uuid(mdev));
+#endif
}
static int do_pin_pages(char __user *buf, const size_t count,
@@ -1688,7 +1696,12 @@ static ssize_t libmuser_read(struct file *filp, char __user *buf,
return -EINVAL;
}
+ /* XXX this should be taken out when upstreaming */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(4,19,67)
+ if (!access_ok(VERIFY_WRITE, buf, bufsz)) {
+#else
if (!access_ok(buf, bufsz)) {
+#endif
muser_dbg("bad permissions");
return -EFAULT;
}
@@ -1755,8 +1768,12 @@ static ssize_t libmuser_write(struct file *filp, const char __user *buf,
muser_dbg("bad arguments");
return -EINVAL;
}
-
+ /* XXX this should be taken out when upstreaming */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(4,19,67)
+ if (!access_ok(VERIFY_READ, buf, bufsz)) {
+#else
if (!access_ok(buf, bufsz)) {
+#endif
muser_dbg("bad permissions");
return -EFAULT;
}