lkml.org 
[lkml]   [2015]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 090/221] console: Fix console name size mismatch
    3.2.69-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Peter Hurley <peter@hurleysoftware.com>

    commit 30a22c215a0007603ffc08021f2e8b64018517dd upstream.

    commit 6ae9200f2cab7 ("enlarge console.name") increased the storage
    for the console name to 16 bytes, but not the corresponding
    struct console_cmdline::name storage. Console names longer than
    8 bytes cause read beyond end-of-string and failure to match
    console; I'm not sure if there are other unexpected consequences.

    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [bwh: Backported to 3.2:
    - Adjust filename
    - Use console_cmdline[i] instead of *c]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    --- a/kernel/printk.c
    +++ b/kernel/printk.c
    @@ -123,7 +123,7 @@ static struct console *exclusive_console
    */
    struct console_cmdline
    {
    - char name[8]; /* Name of the driver */
    + char name[16]; /* Name of the driver */
    int index; /* Minor dev. to use */
    char *options; /* Options for the driver */
    #ifdef CONFIG_A11Y_BRAILLE_CONSOLE
    @@ -1477,6 +1477,7 @@ void register_console(struct console *ne
    */
    for (i = 0; i < MAX_CMDLINECONSOLES && console_cmdline[i].name[0];
    i++) {
    + BUILD_BUG_ON(sizeof(console_cmdline[i].name) != sizeof(newcon->name));
    if (strcmp(console_cmdline[i].name, newcon->name) != 0)
    continue;
    if (newcon->index >= 0 &&


    \
     
     \ /
      Last update: 2015-05-05 04:21    [W:4.298 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site