summaryrefslogtreecommitdiff
path: root/include/asm-i386/processor.h
diff options
context:
space:
mode:
authorZachary Amsden <zach@vmware.com>2005-08-16 19:05:09 (GMT)
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-16 19:18:01 (GMT)
commit12aaa0855b39b5464db953fedf399fa91ee365ed (patch)
treed202ce6d6529fe23e950e24cd04b4d562f28705e /include/asm-i386/processor.h
parent5153f7e6dba37390902c8fd3edc9a8cc19358ece (diff)
downloadlinux-12aaa0855b39b5464db953fedf399fa91ee365ed.tar.xz
[PATCH] i386 / desc_empty macro is incorrect
Chuck Ebbert noticed that the desc_empty macro is incorrect. Fix it. Thankfully, this is not used as a security check, but it can falsely overwrite TLS segments with carefully chosen base / limits. I do not believe this is an issue in practice, but it is a kernel bug. Signed-off-by: Zachary Amsden <zach@vmware.com> Signed-off-by: Chris Wright <chrisw@osdl.org> [ x86-64 had the same problem, and the same fix. Linus ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-i386/processor.h')
-rw-r--r--include/asm-i386/processor.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
index 5d06e6b..d0d8b01 100644
--- a/include/asm-i386/processor.h
+++ b/include/asm-i386/processor.h
@@ -29,7 +29,7 @@ struct desc_struct {
};
#define desc_empty(desc) \
- (!((desc)->a + (desc)->b))
+ (!((desc)->a | (desc)->b))
#define desc_equal(desc1, desc2) \
(((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b))