2004-10-20 10:26:50

by Werner Almesberger

[permalink] [raw]
Subject: [PATCH] no TIOCSBRK/TIOCCBRK in ia32 emulation on amd64

In ia32 emulation, the amd64 kernel refuses the ioctls TIOCSBRK
and TIOCCBRK with EINVAL. I've attached a patch that adds them to
the compatibility list.

Since all architectures have these ioctls ("m68knommu" inherits
them from "m68k", "um" from its host) and use the same code, I
think adding them to compat_ioctl.h is the correct choice (as
opposed to adding them to arch/x86_64/ia32/ia32_ioctl.c).

The patch is for 2.6.9. I've observed the problem the first time
in 2.6.7.

- Werner

---------------------------------- cut here -----------------------------------

Signed-off-by: Werner Almesberger <[email protected]>

--- linux-2.6.9/include/linux/compat_ioctl.h.orig 2004-10-19 18:52:50.406756352 -0300
+++ linux-2.6.9/include/linux/compat_ioctl.h 2004-10-19 18:56:34.057756232 -0300
@@ -23,6 +23,8 @@
COMPATIBLE_IOCTL(TCSETSW)
COMPATIBLE_IOCTL(TCSETSF)
COMPATIBLE_IOCTL(TIOCLINUX)
+COMPATIBLE_IOCTL(TIOCSBRK)
+COMPATIBLE_IOCTL(TIOCCBRK)
/* Little t */
COMPATIBLE_IOCTL(TIOCGETD)
COMPATIBLE_IOCTL(TIOCSETD)

--
_________________________________________________________________________
/ Werner Almesberger, Buenos Aires, Argentina [email protected] /
/_http://www.almesberger.net/____________________________________________/


2004-10-19 23:01:43

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] no TIOCSBRK/TIOCCBRK in ia32 emulation on amd64

On Tue, Oct 19, 2004 at 07:07:05PM -0300, Werner Almesberger wrote:
> In ia32 emulation, the amd64 kernel refuses the ioctls TIOCSBRK
> and TIOCCBRK with EINVAL. I've attached a patch that adds them to
> the compatibility list.
>
> Since all architectures have these ioctls ("m68knommu" inherits
> them from "m68k", "um" from its host) and use the same code, I
> think adding them to compat_ioctl.h is the correct choice (as
> opposed to adding them to arch/x86_64/ia32/ia32_ioctl.c).
>
> The patch is for 2.6.9. I've observed the problem the first time
> in 2.6.7.

Thanks, looks good.

-Andi