On Tue, 2016-06-07 at 13:30 +0400, Pavel Andrianov wrote: > Hi! > > There is a potential race condition in > drivers/net/wireless/libertas/libertas.ko. > In the function lbs_hard_start_xmit(..), line 159, a socket buffer > is > written to priv->current_skb with a spin_lock protection. > In the function lbs_mac_event_disconnected(..), lines 50-51, the > field > current_skb is cleaned. There is no protection used. The > corresponding > handlers are activated at the same time in lbs_start_card(..) and > then > may be executed simultaneously. Note, there are two structures > lbs_netdev_ops and mesh_netdev_ops, which have the target handler > lbs_hard_start_xmit. > Is it a real race or I have missed something?
Yeah, it looks like it should be grabbing priv->driver_lock before clearing priv->currenttxskb in lbs_mac_event_disconnected(). Care to submit a patch after testing? Do you have any of that hardware? Dan -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html