]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
[PATCH] fix compat console unimap regression
authorHugh Dickins <hugh@veritas.com>
Fri, 25 May 2007 23:39:17 +0000 (00:39 +0100)
committerChris Wright <chrisw@sous-sol.org>
Mon, 11 Jun 2007 18:36:47 +0000 (11:36 -0700)
commit1fafdb234a4596cc287897d099517deb92161b08
tree0d33aa9d92195cb5217a6a24ac00c9f9097df291
parent6f014362c644a7420d6d64e403a2f607d11c93c3
[PATCH] fix compat console unimap regression

Why is it that since the 2f1a2ccb9c0de632ab07193becf5f7121794f6ae console
UTF-8 fixes went into 2.6.22-rc1, the PowerMac G5 shows only inverse video
question marks for the text on tty2-6? whereas tty1 is fine, and so is x86.

No fault of that patch: by removing the old fallback behaviour, it reveals
that 32-bit setfont running on 64-bit kernels has only really worked on
the current console, the rest getting faked by that inadequate fallback.

Bring the compat do_unimap_ioctl into line with the main one: PIO_UNIMAP
and GIO_UNIMAP apply to the specified tty, not redirected to fg_console.
Use the same checks, and most particularly, remember to check access_ok:
con_set_unimap and con_get_unimap are using __get_user and __put_user.

And the compat vt_check should ask for the same capability as the main
one, CAP_SYS_TTY_CONFIG rather than CAP_SYS_ADMIN.  Added in vt_ioctl's
vc_cons_allocated check for safety, though failure may well be impossible.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/compat_ioctl.c