• Hugh Dickins's avatar
    fix compat console unimap regression · f4d43bd5
    Hugh Dickins authored
    Why is it that since the 2f1a2ccb 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: default avatarHugh Dickins <hugh@veritas.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f4d43bd5
compat_ioctl.c 104 KB