tty: vt, ignore PIO_UNIMAPCLR param
We do not do hashtables for unicode fonts since 1995 (1.3.28). So it is time to remove the second parameter of con_clear_unimap and ignore the advice from userspace completely. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6ca8dfd781
commit
f8b0c2e688
|
@ -499,9 +499,8 @@ con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* ui is a leftover from using a hashtable, but might be used again
|
||||
Caller must hold the lock */
|
||||
static int con_do_clear_unimap(struct vc_data *vc, struct unimapinit *ui)
|
||||
/* Caller must hold the lock */
|
||||
static int con_do_clear_unimap(struct vc_data *vc)
|
||||
{
|
||||
struct uni_pagedir *p, *q;
|
||||
|
||||
|
@ -524,11 +523,11 @@ static int con_do_clear_unimap(struct vc_data *vc, struct unimapinit *ui)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui)
|
||||
int con_clear_unimap(struct vc_data *vc)
|
||||
{
|
||||
int ret;
|
||||
console_lock();
|
||||
ret = con_do_clear_unimap(vc, ui);
|
||||
ret = con_do_clear_unimap(vc);
|
||||
console_unlock();
|
||||
return ret;
|
||||
}
|
||||
|
@ -556,7 +555,7 @@ int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
|
|||
int j, k;
|
||||
u16 **p1, *p2, l;
|
||||
|
||||
err1 = con_do_clear_unimap(vc, NULL);
|
||||
err1 = con_do_clear_unimap(vc);
|
||||
if (err1) {
|
||||
console_unlock();
|
||||
return err1;
|
||||
|
@ -677,7 +676,7 @@ int con_set_default_unimap(struct vc_data *vc)
|
|||
|
||||
/* The default font is always 256 characters */
|
||||
|
||||
err = con_do_clear_unimap(vc, NULL);
|
||||
err = con_do_clear_unimap(vc);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
|
|
@ -1006,16 +1006,10 @@ int vt_ioctl(struct tty_struct *tty,
|
|||
break;
|
||||
|
||||
case PIO_UNIMAPCLR:
|
||||
{ struct unimapinit ui;
|
||||
if (!perm)
|
||||
return -EPERM;
|
||||
ret = copy_from_user(&ui, up, sizeof(struct unimapinit));
|
||||
if (ret)
|
||||
ret = -EFAULT;
|
||||
else
|
||||
con_clear_unimap(vc, &ui);
|
||||
con_clear_unimap(vc);
|
||||
break;
|
||||
}
|
||||
|
||||
case PIO_UNIMAP:
|
||||
case GIO_UNIMAP:
|
||||
|
|
|
@ -59,14 +59,13 @@ int tioclinux(struct tty_struct *tty, unsigned long arg);
|
|||
#ifdef CONFIG_CONSOLE_TRANSLATIONS
|
||||
/* consolemap.c */
|
||||
|
||||
struct unimapinit;
|
||||
struct unipair;
|
||||
|
||||
int con_set_trans_old(unsigned char __user * table);
|
||||
int con_get_trans_old(unsigned char __user * table);
|
||||
int con_set_trans_new(unsigned short __user * table);
|
||||
int con_get_trans_new(unsigned short __user * table);
|
||||
int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui);
|
||||
int con_clear_unimap(struct vc_data *vc);
|
||||
int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list);
|
||||
int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct unipair __user *list);
|
||||
int con_set_default_unimap(struct vc_data *vc);
|
||||
|
@ -92,7 +91,7 @@ static inline int con_get_trans_new(unsigned short __user *table)
|
|||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui)
|
||||
static inline int con_clear_unimap(struct vc_data *vc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue