Messages in this thread | | | Date | Mon, 3 Feb 2003 15:51:40 -0800 (PST) | From | Kevin Lawton <> | Subject | Possible bug in arch/i386/kernel/process.c for reloading of debug registers (DRx)? |
| |
I was scanning through the source and noticed the lines below. Should the code below, be reloading at least the local bits of DR7 if the current DR7 value != 0? From a quick glance, it looks like only if the next task's DR7 value is non-zero, that DR7 is reloaded. I'm wondering if this would leave a new task to receive "local" debug events for the previous task if prev->DR7!=0 && next->DR7==0.
-Kevin
linux-2.5.59: arch/i386/kernel/process.c: line 462+:
/* * Now maybe reload the debug registers */ if (unlikely(next->debugreg[7])) { loaddebug(next, 0); loaddebug(next, 1); loaddebug(next, 2); loaddebug(next, 3); /* no 4 and 5 */ loaddebug(next, 6); loaddebug(next, 7); }
__________________________________________________ Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! http://sbc.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |