On Thu, 16 Dec 2004 02:15:12 -0700,
Steven Dake <[EMAIL PROTECTED]> wrote:
>Folks
>
>Find a patch against the x86_64 4.3 link below for a bug in the port.
>
>Entering ef 00 causes an oops. This has been fixed in the i386
>version. This may exist in 4.4 I'm not sure.
>
>Thanks
>-steve
>
>--- old/arch/x86_64/kdb/kdbasupport.c 2004-12-15 14:00:53.000000000 +
>0900
>+++ new/arch/x86_64/kdb/kdbasupport.c 2004-12-15 14:02:30.000000000 +
>0900
>@@ -882,6 +882,11 @@
> struct kdbregs *rlp;
> kdb_machreg_t contents;
>
>+ if (!regs) {
>+ kdb_printf("%s: pt_regs not available\n", __FUN
>CTION__);
>+ return KDB_BADREG;
>+ }
>+
> for (i=0, rlp=kdbreglist; i<nkdbreglist; i++,rlp++) {
> kdb_printf("%8s = ", rlp->reg_name);
> kdba_getregcontents(rlp->reg_name, regs, &conte
>nts);
Your mailer wrapped the patch.
The patch should not be necessary, anywhere in kdb that uses a
struct pt_regs * should have a non-null value. There used to be tests
scattered throughout kdb for 'if (regs)' but they just got in the way.
Some time ago I made sure that all the entry paths set a valid pt_regs
and removed all the unnecessary tests. There are a few KDB_NULL_REGS()
calls left but they never trip and will be removed one day.
The only time that there may be no registers is for reason KDB_SILENT.
How did you get to kdba_dumpregs() with a valid set of registers?
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.