Thread (9 messages) 9 messages, 3 authors, 2017-06-06

Re: [PATCH v3 1/2] tty: add compat_ioctl callbacks

From: Aleksa Sarai <hidden>
Date: 2017-06-06 11:05:21
Also in: linux-alpha, linux-arch, linux-mips, linux-sh, lkml, sparclinux

quoted
diff --git a/Makefile b/Makefile
index 470bd4d9513a..fb689286d83a 100644
--- a/Makefile
+++ b/Makefile
@@ -401,6 +401,7 @@ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
                    -fno-strict-aliasing -fno-common \
                    -Werror-implicit-function-declaration \
                    -Wno-format-security \
+                  -Wno-error=int-in-bool-context \
                    -std=gnu89 $(call cc-option,-fno-PIE)
This  slipped in by accident I assume? It seems completely unrelated.
Yeah, I re-sent v4 with this removed immediately afterwards.
quoted
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
index 65799575c666..2a6bd9ae3f8b 100644
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
@@ -481,6 +481,16 @@ static int pty_bsd_ioctl(struct tty_struct *tty,
         return -ENOIOCTLCMD;
  }

+static long pty_bsd_compat_ioctl(struct tty_struct *tty,
+                                unsigned int cmd, unsigned long arg)
+{
+       /*
+        * PTY ioctls don't require any special translation between 32-bit and
+        * 64-bit userspace, they are already compatible.
+        */
+       return pty_bsd_ioctl(tty, cmd, arg);
+}
+
This looks correct but unnecessary, you can simply point both
function pointers to the same function:
They have different types, since they have different return types:

int  (*ioctl)(struct tty_struct *tty,
	    unsigned int cmd, unsigned long arg);
long (*compat_ioctl)(struct tty_struct *tty,
		     unsigned int cmd, unsigned long arg);

If you like, I can change (*ioctl) to return longs as well, and then 
change all of the call-sites (since unlocked_ioctl also returns long).

-- 
Aleksa Sarai
Software Engineer (Containers)
SUSE Linux GmbH
https://www.cyphar.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help