This is a note to let you know that I've just added the patch titled s390/con3270: fix use of uninitialised data to the 4.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: s390-con3270-fix-use-of-uninitialised-data.patch and it can be found in the queue-4.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From c14f2aac7aa147861793eed9f41f91dd530f0be1 Mon Sep 17 00:00:00 2001 From: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Thu, 11 Aug 2016 21:34:54 +0200 Subject: s390/con3270: fix use of uninitialised data From: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> commit c14f2aac7aa147861793eed9f41f91dd530f0be1 upstream. con3270 contains an optimisation that reduces the amount of data to be transmitted to the 3270 terminal by putting a Repeat to Address (RA) order into the data stream. The RA order itself takes up space, so con3270 only uses it if there's enough space left in the line buffer. Otherwise it just pads out the line manually. For lines too long to include the RA order, one byte was left uninitialised. This was caused by an off-by-one bug in the loop that pads out the line. Since the buffer is allocated from a common pool, the single byte left uninitialised contained some previous buffer content. Usually this was just a space or some character (which can result in clutter but is otherwise harmless). Sometimes, however, it was a Repeat to Address order, messing up the entire screen layout and causing the display to send the entire buffer content on every keystroke. Fixes: f51320a5 ("[PATCH] s390: new 3270 driver.") (tglx/history.git) Reported-by: Liu Jing <liujbjl@xxxxxxxxxxxxxxxxxx> Tested-by: Jing Liu <liujbjl@xxxxxxxxxxxxxxxxxx> Tested-by: Yang Chen <bjcyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/s390/char/con3270.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/s390/char/con3270.c +++ b/drivers/s390/char/con3270.c @@ -464,7 +464,7 @@ con3270_cline_end(struct con3270 *cp) s->string[s->len - 4] = TO_RA; s->string[s->len - 1] = 0; } else { - while (--size > cp->cline->len) + while (--size >= cp->cline->len) s->string[size] = cp->view.ascebc[' ']; } /* Replace cline with allocated line s and reset cline. */ Patches currently in stable-queue which might be from silbe@xxxxxxxxxxxxxxxxxx are queue-4.8/s390-con3270-fix-use-of-uninitialised-data.patch queue-4.8/s390-con3270-fix-insufficient-space-padding.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html