linux/drivers/s390/char
Sascha Silbe e8e71d678b s390/con3270: fix insufficient space padding
commit 6cd997db91 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 that were _just_ short enough that the RA order still fit in
the line buffer, the line was instead padded with an insufficient
amount of spaces. This was caused by examining the size of the
allocated line buffer rather than the length of the string to be
displayed.

For con3270_cline_end(), we just compare against the line length. For
con3270_update_string() however that isn't available anymore, so we
check whether the Repeat to Address order is present.

Fixes: f51320a5 ("[PATCH] s390: new 3270 driver.") (tglx/history.git)
Tested-by: Jing Liu <liujbjl@linux.vnet.ibm.com>
Tested-by: Yang Chen <bjcyang@linux.vnet.ibm.com>
Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-02-23 03:54:06 +00:00
..
con3215.c s390/3215: fix tty output containing tabs 2015-01-05 10:15:52 +00:00
con3270.c s390/con3270: fix insufficient space padding 2017-02-23 03:54:06 +00:00
ctrlchar.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ctrlchar.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
defkeymap.c Build fix for drivers/s390/char/defkeymap.c 2008-03-04 08:01:26 -08:00
defkeymap.map Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fs3270.c s390/3270: fix missing device_destroy() call 2013-11-15 14:08:37 +01:00
Kconfig tty: Added a CONFIG_TTY option to allow removal of TTY 2013-01-18 16:15:27 -08:00
keyboard.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
keyboard.h TTY: switch tty_schedule_flip 2013-01-15 22:43:15 -08:00
Makefile s390/watchdog: use watchdog API 2014-06-10 10:48:29 +02:00
monreader.c s390/monreader: Remove redundant NULL check before kfree 2013-04-17 14:07:25 +02:00
monwriter.c s390/monwriter: fix smatch warning for strcpy() 2013-10-24 17:17:08 +02:00
raw3270.c s390/3270: correct size detection with the read-partition command 2014-07-16 10:48:10 +02:00
raw3270.h s390/con3270: optionally disable auto update 2014-03-26 10:55:33 +01:00
sclp.c s390/sclp: replace PTR_RET with PTR_ERR_OR_ZERO 2014-04-11 13:53:40 +02:00
sclp.h s390/sclp: add timeout for queued requests 2014-04-01 13:25:26 +02:00
sclp_async.c [S390] sclp_async: Use kstrtoul_from_user 2011-08-03 16:44:20 +02:00
sclp_cmd.c s390/sclp_cmd: replace PTR_RET with PTR_ERR_OR_ZERO 2014-04-11 13:53:42 +02:00
sclp_con.c s390/sclp: add parameter to specify number of buffer pages 2013-06-26 21:10:03 +02:00
sclp_config.c s390/sclp: reword cpu capability change message 2013-08-22 12:20:07 +02:00
sclp_cpi.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_cpi_sys.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_cpi_sys.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_ctl.c s390/sclp_ctl: fix potential information leak with /dev/sclp 2016-08-22 22:38:28 +01:00
sclp_early.c s390/sclp: fix compile error 2015-09-03 13:30:01 +01:00
sclp_ocf.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_quiesce.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_rw.c s390/sclp: use -EOPNOTSUPP instead of -ENOSYS 2012-09-26 15:45:13 +02:00
sclp_rw.h [S390] sclp: fix compile error for !SCLP_CONSOLE 2009-07-07 16:37:50 +02:00
sclp_sdias.c s390/sclp: Move declarations for sclp_sdias into separate header file 2013-11-15 14:08:39 +01:00
sclp_sdias.h s390/sclp: Move declarations for sclp_sdias into separate header file 2013-11-15 14:08:39 +01:00
sclp_tty.c TTY: add tty_port_tty_wakeup helper 2013-03-18 16:19:45 -07:00
sclp_tty.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_vt220.c s390/sclp_vt220: Enable ASCII console per default 2014-06-10 10:48:29 +02:00
tape.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tape_34xx.c s390/irq: remove split irq fields from /proc/stat 2013-01-08 10:57:07 +01:00
tape_3590.c s390/irq: remove split irq fields from /proc/stat 2013-01-08 10:57:07 +01:00
tape_3590.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_char.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
tape_class.c s390/drivers: Cocci spatch "ptr_ret.spatch" 2013-06-26 21:10:22 +02:00
tape_class.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_core.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_proc.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_std.c s390/tape: Add missing destroy_timer_on_stack() 2014-04-01 09:23:37 +02:00
tape_std.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tty3270.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-01-20 09:23:31 -08:00
tty3270.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmcp.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmcp.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmlogrdr.c s390: avoid format strings leaking into names 2014-06-11 10:13:27 +02:00
vmur.c s390/vmur: Link parent CCW device during UR device creation 2014-01-22 14:02:11 +01:00
vmur.h [S390] vmur: Use wait queue instead of mutex to serialize open 2008-04-17 07:46:59 +02:00
zcore.c s390/mm: Convert bootmem to memblock 2014-05-20 08:58:40 +02:00