--- linux/drivers/char/vt_ioctl.c.orig 2004-11-29 15:36:28.100257232 +0800 +++ linux/drivers/char/vt_ioctl.c 2004-11-29 15:36:10.772891392 +0800 @@ -332,7 +332,7 @@ } static inline int -do_unimap_ioctl(int cmd, struct unimapdesc *user_ud,int perm) +do_unimap_ioctl(int cmd, int con, struct unimapdesc *user_ud,int perm) { struct unimapdesc tmp; int i = 0; @@ -348,9 +348,9 @@ case PIO_UNIMAP: if (!perm) return -EPERM; - return con_set_unimap(fg_console, tmp.entry_ct, tmp.entries); + return con_set_unimap(con, tmp.entry_ct, tmp.entries); case GIO_UNIMAP: - return con_get_unimap(fg_console, tmp.entry_ct, &(user_ud->entry_ct), tmp.entries); + return con_get_unimap(con, tmp.entry_ct, &(user_ud->entry_ct), tmp.entries); } return 0; } @@ -966,13 +966,13 @@ return -EPERM; i = copy_from_user(&ui, (void *)arg, sizeof(struct unimapinit)); if (i) return -EFAULT; - con_clear_unimap(fg_console, &ui); + con_clear_unimap(console, &ui); return 0; } case PIO_UNIMAP: case GIO_UNIMAP: - return do_unimap_ioctl(cmd, (struct unimapdesc *)arg, perm); + return do_unimap_ioctl(cmd, console, (struct unimapdesc *)arg, perm); case VT_LOCKSWITCH: if (!capable(CAP_SYS_TTY_CONFIG))