checkstack.pl <large_number>

From: Randy.Dunlap
Date: Fri Feb 18 2005 - 14:15:37 EST


Hi,

In checkstack.pl, do you recall the reason for this code snippet:

if ($size > 0x80000000) {
$size = - $size;
$size += 0x80000000;
$size += 0x80000000;
}

There is one (unusual:) case where it fails. Is it needed?

For arch/i386/kernel/efi_stub.S, checkstack reports:

0xc0116f5d efi_call_phys: 1073741824
which is 0x4000_0000 (_ added for readability only), however the
actual change in %esp there is __PAGE_OFFSET (0xc000_0000 on ia32),

so if I alter the "if" test above to check for > 0xf000_0000,
checkstack reports the correct value:
0xc0116f5d efi_call_phys: 3221225472
which is 0xc000_0000.


from objdump of efi_stub.o:
5: 81 ea 00 00 00 c0 sub $0xc0000000,%edx

or I can just ignore it, like I've been doing for awhile...

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/