diff options
author | Frank Pan <frankpzh@gmail.com> | 2010-05-26 15:37:43 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-06-04 13:37:18 -0700 |
commit | 962400e8fd29981a7b166e463dd143b6ac6a3e76 (patch) | |
tree | 9606786cc3ebd557d24e3e36f487a0c241fb3d9b | |
parent | fadf34f0f05ca5ea02ffcd89544cd372bbdb739b (diff) | |
download | op-kernel-dev-962400e8fd29981a7b166e463dd143b6ac6a3e76.zip op-kernel-dev-962400e8fd29981a7b166e463dd143b6ac6a3e76.tar.gz |
tty: fix a little bug in scrup, vt.c
The code uses vc->vc_cols instead of vc->vc_size_row by mistake, it
will cause half of the region which is going to clear remain
uncleared.
The issue happens in background consoles, so it's hard to observe.
Frank Pan
Signed-off-by: Frank Pan <frankpzh@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/char/vt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c index 7cdb6ee..1296c42 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c @@ -304,7 +304,7 @@ static void scrup(struct vc_data *vc, unsigned int t, unsigned int b, int nr) d = (unsigned short *)(vc->vc_origin + vc->vc_size_row * t); s = (unsigned short *)(vc->vc_origin + vc->vc_size_row * (t + nr)); scr_memmovew(d, s, (b - t - nr) * vc->vc_size_row); - scr_memsetw(d + (b - t - nr) * vc->vc_cols, vc->vc_video_erase_char, + scr_memsetw(d + (b - t - nr) * vc->vc_size_row, vc->vc_video_erase_char, vc->vc_size_row * nr); } |