breaking into kdb via usb keyboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



drivers/char/keyboard.c relies on the fact that kdb_pt_regs gets filled out
when a ps2 interrupt occurs to pass this data to kdb().  When a usb keyboard
is used to break into kdb via the [Break] key, this variable is not filled
out.





--- /h/rsanders/trees/2.0_kdb4/ftl_future/linux/drivers/usb/usb-ohci.c	Fri
Apr  4 13:38:50 2003
+++ drivers/usb/usb-ohci.c	Tue Jun 10 10:54:58 2003
@@ -2384,6 +2384,11 @@
 	struct ohci_regs * regs = ohci->regs;
  	int ints; 
 
+#ifdef CONFIG_KDB
+	extern struct pt_regs * kdb_pt_regs;
+	kbd_pt_regs = r;
+#endif
+
 	if ((ohci->hcca->done_head != 0) && !(le32_to_cpup
(&ohci->hcca->done_head) & 0x01)) {
 		ints =  OHCI_INTR_WDH;
 	} else if ((ints = (readl (&regs->intrstatus) & readl
(&regs->intrenable))) == 0) {
--- /h/rsanders/trees/2.0_kdb4/ftl_future/linux/drivers/usb/usb-uhci.c	Tue
Jun 10 08:49:43 2003
+++ drivers/usb/usb-uhci.c	Tue Jun 10 10:55:15 2003
@@ -2730,6 +2730,11 @@
 	unsigned short status;
 	struct list_head *p, *p2;
 	int restarts, work_done;
+
+#ifdef CONFIG_KDB
+	extern struct pt_regs * kbd_pt_regs;
+	kbd_pt_regs = regs;
+#endif
 	
 	/*
 	 * Read the interrupt status, and write it back to clear the



[Index of Archives]     [Linux Kernel Development]     [Linux Kernel Newbies]     [Linux USB Development]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux