netdev
[Top] [All Lists]

Re: System crash in tcp_fragment()

To: george@xxxxxxxxxx (george anzinger)
Subject: Re: System crash in tcp_fragment()
From: kuznet@xxxxxxxxxxxxx
Date: Tue, 21 May 2002 01:25:53 +0400 (MSD)
Cc: netdev@xxxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx, davem@xxxxxxxxxx, ak@xxxxxx, pekkas@xxxxxxxxxx
In-reply-to: <3CE95190.75C52E2D@mvista.com> from "george anzinger" at May 20, 2 12:42:08 pm
Sender: owner-netdev@xxxxxxxxxxx
Hello!

> Is is possible for the other cpu (or even this one given the
> ksoftirqd stuff) to remove or alter the skb that
> tcp_fragment() is processing?

No.
> What locks, if any, are needed to prevent this.

They are already applied.


Looking at the last lines of the bugzilla thread, I see the answer:

> - Observation, the BUG_TRAP assertion likely should have done something better
> than just report the condition, wonder if an earlier panic or other corrective
> action may have kept the TCP stack moving instead of the oops? Looks lazy to
> me...

Well, add BUG() to BIG_TRAP() to oops it earlier. Maybe this will move
you closer to real problem.


And also your reasoning about smp_processor_id() sounds strange,
preemption code must reschedule thread preemted in the kernel to the
same cpu, it is enough to avoid troubles with this. 

Alexey


<Prev in Thread] Current Thread [Next in Thread>