[PATCH] vt: fix broken display when running aptitude

From: Mikulas Patocka
Date: Tue Oct 23 2018 - 11:28:34 EST


If you run aptitude on framebuffer console, the display is corrupted. The
corruption is caused by the commit d8ae7242. The patch adds "offset" to
"start" when calling scr_memsetw, but it forgets to do the same addition
on a subsequent call to do_update_region.

Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Fixes: d8ae72427187 ("vt: preserve unicode values corresponding to screen characters")
Cc: stable@xxxxxxxxxxxxxxx # 4.19

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

Index: linux-2.6/drivers/tty/vt/vt.c
===================================================================
--- linux-2.6.orig/drivers/tty/vt/vt.c 2018-10-23 16:15:08.000000000 +0200
+++ linux-2.6/drivers/tty/vt/vt.c 2018-10-23 16:29:20.000000000 +0200
@@ -1551,7 +1551,7 @@ static void csi_K(struct vc_data *vc, in
scr_memsetw(start + offset, vc->vc_video_erase_char, 2 * count);
vc->vc_need_wrap = 0;
if (con_should_update(vc))
- do_update_region(vc, (unsigned long) start, count);
+ do_update_region(vc, (unsigned long)(start + offset), count);
}

static void csi_X(struct vc_data *vc, int vpar) /* erase the following vpar positions */