svn commit: r319410 - head/sys/compat/linuxkpi/common/src
Hans Petter Selasky
hselasky at FreeBSD.org
Thu Jun 1 09:53:57 UTC 2017
Author: hselasky
Date: Thu Jun 1 09:53:55 2017
New Revision: 319410
URL: https://svnweb.freebsd.org/changeset/base/319410
Log:
Translate the ERESTARTSYS error code into ERESTART in the LinuxKPI
ioctl(), read() and write() system call handlers. This error code is
internal to the kernel and should not be seen by user-space programs
according to Linux.
Submitted by: Yanko Yankulov <yanko.yankulov at gmail.com>
MFC after: 1 week
Sponsored by: Mellanox Technologies
Modified:
head/sys/compat/linuxkpi/common/src/linux_compat.c
Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c
==============================================================================
--- head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Jun 1 09:34:51 2017 (r319409)
+++ head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Jun 1 09:53:55 2017 (r319410)
@@ -854,6 +854,8 @@ linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t
if (error == EWOULDBLOCK)
linux_dev_kqfilter_poll(filp);
+ else if (error == ERESTARTSYS)
+ error = ERESTART;
return (error);
}
@@ -889,6 +891,8 @@ linux_dev_read(struct cdev *dev, struct uio *uio, int
error = -bytes;
if (error == EWOULDBLOCK)
linux_dev_kqfilter_poll(filp);
+ else if (error == ERESTARTSYS)
+ error = ERESTART;
}
} else
error = ENXIO;
@@ -928,6 +932,8 @@ linux_dev_write(struct cdev *dev, struct uio *uio, int
error = -bytes;
if (error == EWOULDBLOCK)
linux_dev_kqfilter_poll(filp);
+ else if (error == ERESTARTSYS)
+ error = ERESTART;
}
} else
error = ENXIO;
More information about the svn-src-all
mailing list