tty/vt: don't set font mappings on vc not supporting this
authorImre Deak <imre.deak@intel.com>
Thu, 2 Oct 2014 13:34:31 +0000 (16:34 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 14 Dec 2014 16:23:55 +0000 (16:23 +0000)
commit 9e326f78713a4421fe11afc2ddeac07698fac131 upstream.

We can call this function for a dummy console that doesn't support
setting the font mapping, which will result in a null ptr BUG. So check
for this case and return error for consoles w/o font mapping support.

Reference: https://bugzilla.kernel.org/show_bug.cgi?id=59321
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: this function doesn't take a lock, so doesn't
 need to unlock on error]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/tty/vt/consolemap.c

index f343808..fb95acc 100644 (file)
@@ -518,6 +518,8 @@ int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
 
        /* Save original vc_unipagdir_loc in case we allocate a new one */
        p = (struct uni_pagedir *)*vc->vc_uni_pagedir_loc;
+       if (!p)
+               return -EINVAL;
        if (p->readonly) return -EIO;
        
        if (!ct) return 0;