Re: [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [4/5] Do not resetwhen the device is not opened

From: David Miller
Date: Wed Jul 14 2010 - 17:07:11 EST


From: Shreyas Bhatewara <sbhatewara@xxxxxxxxxx>
Date: Tue, 13 Jul 2010 17:49:52 -0700 (PDT)

>
> Do not reset when the device is not opened
>
> If a reset is scheduled, and the device goes thru close and open, it
> may happen that reset and open may run in parallel.
> The reset code now bails out if the device is not opened.
>
> Signed-off-by: Ronghua Zang <ronghua@xxxxxxxxxx>
> Signed-off-by: Matthieu Bucchianeri <matthieu@xxxxxxxxxx>
> Signed-off-by: Shreyas Bhatewara <sbhatewara@xxxxxxxxxx>

Testing IFF_UP is just making your race hole a little smaller but
it isn't fixing the problem.

In fact, there really isn't any legitimate reason for a driver
to test the IFF_UP state bit. netif_running() is the correct
test, and asynchronous work queue things like resets should
synchronize with open/close using the RTNL lock so that your
test of netif_running() is a stable one.
--
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/