From: Samuel Thibault <samuel.thiba...@ens-lyon.org>
Subject: drivers/tty/vt/vt_ioctl.c: fix KDFONTOP 32bit compatibility layer

KDFONTOP(GET) currently fails with EIO when being run in a 32bit userland
with a 64bit kernel if the font width is not 8.

This is because of the setting of the KD_FONT_FLAG_OLD flag, which makes
con_font_get return EIO in such case.  

This flag should *not* be set for KDFONTOP, since it's actually the whole
point of this flag (see comment in con_font_set for instance).

Signed-off-by: Samuel Thibault <samuel.thiba...@ens-lyon.org>
Reviewed-by: Arnd Bergmann <a...@arndb.de>
Cc: Greg Kroah-Hartman <gre...@suse.de>
Cc: Arthur Taylor <a...@ified.ca>
Cc: Jiri Slaby <jsl...@suse.cz>
Cc: Jiri Olsa <jo...@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
---

 drivers/tty/vt/vt_ioctl.c |    1 -
 1 file changed, 1 deletion(-)

diff -puN 
drivers/tty/vt/vt_ioctl.c~drivers-tty-vt-vt_ioctlc-fix-kdfontop-32bit-compatibility-layer
 drivers/tty/vt/vt_ioctl.c
--- 
a/drivers/tty/vt/vt_ioctl.c~drivers-tty-vt-vt_ioctlc-fix-kdfontop-32bit-compatibility-layer
+++ a/drivers/tty/vt/vt_ioctl.c
@@ -1463,7 +1463,6 @@ compat_kdfontop_ioctl(struct compat_cons
        if (!perm && op->op != KD_FONT_OP_GET)
                return -EPERM;
        op->data = compat_ptr(((struct compat_console_font_op *)op)->data);
-       op->flags |= KD_FONT_FLAG_OLD;
        i = con_font_op(vc, op);
        if (i)
                return i;
_
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to