Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Jun 2017 09:53:56 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r319410 - head/sys/compat/linuxkpi/common/src
Message-ID:  <201706010953.v519rud7059269@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706010953.v519rud7059269>