linux/drivers/s390/char
Heiko Carstens 94c163663f s390/memory hotplug: prevent offline of active memory increments
In case a machine supports memory hotplug all active memory increments
present at IPL time have been initialized with a "usecount" of 1.
This is wrong if the memory increment size is larger than the memory
section size of the memory hotplug code. If that is the case the
usecount must be initialized with the number of memory sections that
fit into one memory increment.
Otherwise it is possible to put a memory increment into standby state
even if there are still active sections.
Afterwards addressing exceptions might happen which cause the kernel
to panic.
However even worse, if a memory increment was put into standby state
and afterwards into active state again, it's contents would have been
zeroed, leading to memory corruption.

This was only an issue for machines that support standby memory and
have at least 256GB memory.

This is broken since commit fdb1bb15 "[S390] sclp/memory hotplug: fix
initial usecount of increments".

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: stable@vger.kernel.org # 2.6.39+
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-04-26 09:07:10 +02:00
..
con3215.c s390/cio: ccw_device_force_console don't use static variable 2013-04-17 14:07:31 +02:00
con3270.c s390/3270: drop unused spinlock from struct con3270 2012-09-26 15:45:11 +02: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
defkeymap.map
fs3270.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08: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] get CPC image name 2011-05-23 10:24:32 +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 return code handling 2011-05-23 10:24:29 +02:00
raw3270.c s390/cio: ccw_device_force_console don't use static variable 2013-04-17 14:07:31 +02:00
raw3270.h s390/3270: asynchronous size sensing 2013-02-14 15:55:03 +01:00
sclp_async.c [S390] sclp_async: Use kstrtoul_from_user 2011-08-03 16:44:20 +02:00
sclp_cmd.c s390/memory hotplug: prevent offline of active memory increments 2013-04-26 09:07:10 +02:00
sclp_con.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sclp_config.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_cpi.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02: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_sdias: Add missing break and "fall through" 2012-08-08 07:32:55 -07:00
sclp_tty.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sclp_tty.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_vt220.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sclp.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
sclp.h s390/pci: PCI hotplug support via SCLP 2012-11-30 17:47:25 +01: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/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +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/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_std.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tape.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tty3270.c s390/3270: fix minor_start issue 2013-03-21 13:35:39 +01: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/vmlogrdr: change return value from -ENOSYS to -EOPNOTSUPP 2012-09-26 15:45:16 +02:00
vmur.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
vmur.h
vmwatchdog.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
zcore.c s390/zcore: Fix HSA copy length for last block 2013-04-23 10:18:07 +02:00