s390/compat: fix compat_sys_statfs() memory corruption
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Sat, 20 Apr 2013 11:01:19 +0000 (13:01 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 23 Apr 2013 08:18:09 +0000 (10:18 +0200)
commita2aec0d3e22f3f940a165181ef339ac16deefa7c
tree5f34dc6588089c41ade585302f6c53e5f303f862
parent241fd9bcbc10c144531e88b5e3a62bc11090e5e4
s390/compat: fix compat_sys_statfs() memory corruption

The f_spare field within struct compat_statfs is four bytes larger
than within the native 31 bit struct statfs.
compat_sys_statfs() clears the f_spare field in user space which
means that in compat mode four bytes that are behind the user space
supplied struct compat_statfs will be corrupted (zeroed).

According to Thomas Gleixner's Linux 2.6 history tree this bug is
present since v2.5.74 87880da124 "[PATCH] s390: 31 bit compat.".
So it get's fixed shortly before its 10th anniversary. Tough luck.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/compat.h