lkml.org 
[lkml]   [2019]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 075/115] vt: fix cursor when clearing the screen
    Date
    From: Mikulas Patocka <mpatocka@redhat.com>

    commit b2ecf00631362a83744e5ec249947620db5e240c upstream.

    The patch a6dbe4427559 ("vt: perform safe console erase in the right
    order") introduced a bug. The conditional do_update_region() was
    replaced by a call to update_region() that does contain the conditional
    already, but with unwanted extra side effects such as restoring the cursor
    drawing.

    In order to reproduce the bug:
    - use framebuffer console with the AMDGPU driver
    - type "links" to start the console www browser
    - press 'q' and space to exit links

    Now the cursor will be permanently visible in the center of the
    screen. It will stay there until something overwrites it.

    The bug goes away if we change update_region() back to the conditional
    do_update_region().

    [ nico: reworded changelog ]

    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
    Cc: stable@vger.kernel.org
    Fixes: a6dbe4427559 ("vt: perform safe console erase in the right order")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/tty/vt/vt.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/tty/vt/vt.c
    +++ b/drivers/tty/vt/vt.c
    @@ -1518,7 +1518,8 @@ static void csi_J(struct vc_data *vc, in
    return;
    }
    scr_memsetw(start, vc->vc_video_erase_char, 2 * count);
    - update_region(vc, (unsigned long) start, count);
    + if (con_should_update(vc))
    + do_update_region(vc, (unsigned long) start, count);
    vc->vc_need_wrap = 0;
    }


    \
     
     \ /
      Last update: 2019-04-24 19:39    [W:4.280 / U:0.664 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site