aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-08-29 12:15:33 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-08-29 12:15:33 +0000
commit723e6644acd046f87467a6216282cbf0795d7e09 (patch)
tree14f8b243f94b62f13c297bdf9fdb4d934697e06b /xen
parentd916b7f1fa0b74c9f1b358793949423c3a6ef844 (diff)
downloadxen-723e6644acd046f87467a6216282cbf0795d7e09.tar.gz
xen-723e6644acd046f87467a6216282cbf0795d7e09.tar.bz2
xen-723e6644acd046f87467a6216282cbf0795d7e09.zip
bitkeeper revision 1.398 (3f4f43e5cA3wYdxQVO2zbUFb51Fpew)
mm.c: Fixes to descriptor-checking stuff.
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/i386/mm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/xen/arch/i386/mm.c b/xen/arch/i386/mm.c
index 2ccb1bda1f..ec7f570d83 100644
--- a/xen/arch/i386/mm.c
+++ b/xen/arch/i386/mm.c
@@ -170,7 +170,7 @@ int check_descriptor(unsigned long a, unsigned long b)
if ( (b & _SEGMENT_G) )
limit <<= 12;
if ( ((base + limit) <= base) ||
- ((base + limit) >= PAGE_OFFSET) )
+ ((base + limit) > PAGE_OFFSET) )
goto bad;
good:
@@ -183,7 +183,7 @@ int check_descriptor(unsigned long a, unsigned long b)
long do_set_gdt(unsigned long *frame_list, unsigned int entries)
{
/* NB. There are 512 8-byte entries per GDT page. */
- unsigned int i, nr_pages = (entries + 511) / 512;
+ unsigned int i, j, nr_pages = (entries + 511) / 512;
unsigned long frames[16], pfn, *gdt_page, flags;
long ret = -EINVAL;
struct pfn_info *page;
@@ -213,8 +213,8 @@ long do_set_gdt(unsigned long *frame_list, unsigned int entries)
/* Check all potential GDT entries in the page. */
gdt_page = map_domain_mem(frames[0] << PAGE_SHIFT);
- for ( i = 0; i < 512; i++ )
- if ( !check_descriptor(gdt_page[i*2], gdt_page[i*2+1]) )
+ for ( j = 0; j < 512; j++ )
+ if ( !check_descriptor(gdt_page[j*2], gdt_page[j*2+1]) )
goto out;
unmap_domain_mem(gdt_page);
}