Re: 2.5.45 odd deref in serial_in

Philippe Elie (phil.el@wanadoo.fr)
Wed, 06 Nov 2002 03:23:13 +0000


Zwane Mwaikambo wrote:
> On Tue, 5 Nov 2002, Russell King wrote:
>
>
>>static _INLINE_ unsigned int serial_in(struct uart_8250_port *up, int offset)
>>{
>> offset <<= up->port.regshift;
>>
>> switch (up->port.iotype) {
>>
>>which also dereferences "up". So something may have corrupted %ebx
>>between executing that switch statement and executing the inb().
>>
>>Could the NMI handler be corrupting %ebx ?

ok but

> [<c023d9d8>] serial8250_console_write+0x68/0x1f0
> [<c0121459>] __call_console_drivers+0x49/0x50
> [<c0121541>] call_console_drivers+0x71/0x100
> [<c012196d>] release_console_sem+0xbd/0x170
> [<c01217cc>] printk+0x18c/0x220
> [<c01170d5>] nmi_add_task+0xc5/0xe0
> [<c01177e0>] nmi_watchdog_tick+0x0/0x120

the oops occur during a NMI so I wonder how a NMI
can occur and clobber ebx

-- 
Philippe Elie

- 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/