Re: [NET]: Fix possible dev_deactivate race condition

From: David Miller
Date: Fri Oct 19 2007 - 01:38:25 EST


From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 19 Oct 2007 13:36:24 +0800

> [NET]: Fix possible dev_deactivate race condition
>
> The function dev_deactivate is supposed to only return when
> all outstanding transmissions have completed. Unfortunately
> it is possible for store operations in the driver's transmit
> function to only become visible after dev_deactivate returns.
>
> This patch fixes this by taking the queue lock after we see
> the end of the queue run. This ensures that all effects of
> any previous transmit calls are visible.
>
> If however we detect that there is another queue run occuring,
> then we'll warn about it because this should never happen as
> we have pointed dev->qdisc to noop_qdisc within the same queue
> lock earlier in the functino.
>
> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

Applied, thanks Herbert!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/