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.

Reply via email to