Re: 2.5.45 odd deref in serial_in

From: Zwane Mwaikambo (zwane@holomorphy.com)
Date: Tue Nov 05 2002 - 09:30:10 EST


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 ?

Yes that is highly likely, my current NMI handler does a fair amount of
work, however it chains from the current default nmi handler, i thought
register saving was already taken care of otherwise wouldn't i have all
sorts of other strange bugs creeping up?

        Zwane

-- 
function.linuxpower.ca

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



This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:38 EST