summaryrefslogtreecommitdiffstats
path: root/arch/arm/nwfpe/softfloat.h
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2005-11-07 21:12:07 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-11-07 21:12:07 +0000
commit06c03cac9487555478c7d80065ebf7818bf6fd06 (patch)
tree1a03ff9ae347f40c11d0e3eee790a1b88ff29cc1 /arch/arm/nwfpe/softfloat.h
parent862184fe013146a0d9654a5598c5a2691747541c (diff)
downloadop-kernel-dev-06c03cac9487555478c7d80065ebf7818bf6fd06.zip
op-kernel-dev-06c03cac9487555478c7d80065ebf7818bf6fd06.tar.gz
[ARM] 3117/1: nwfpe kernel memory info leak
Patch from Lennert Buytenhek The routine that nwfpe uses for converting floats/doubles to extended precision fails to zero two bytes of kernel stack. This is not immediately obvious, as the floatx80 structure has 16 bits of implicit padding (by design.) These two bytes are copied to userspace when an stfe is emulated, causing a possible info leak. Make the padding explicit and zero it out in the relevant places. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/nwfpe/softfloat.h')
-rw-r--r--arch/arm/nwfpe/softfloat.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/nwfpe/softfloat.h b/arch/arm/nwfpe/softfloat.h
index 1415170..1301d97 100644
--- a/arch/arm/nwfpe/softfloat.h
+++ b/arch/arm/nwfpe/softfloat.h
@@ -55,6 +55,7 @@ typedef unsigned long int float32;
typedef unsigned long long float64;
typedef struct {
unsigned short high;
+ unsigned short __padding;
unsigned long long low;
} floatx80;
OpenPOWER on IntegriCloud