Re: [2.6 patch] drivers/net/wireless/libertas/rx.c: fix use-after-free

From: Eugene Teo
Date: Fri May 18 2007 - 23:17:20 EST


John W. Linville wrote:
> First, please send all wireless patches to
> linux-wireless@xxxxxxxxxxxxxxx, and be sure to CC me as well...thanks!
>
> On Sat, May 19, 2007 at 12:50:31AM +0800, Eugene Teo wrote:
>> libertas_upload_rx_packet() calls netif_rx() before returning, and it always return 0.
>> Also within libertas_upload_rx_packet(), it will initialize skb->protocol anyways.
>>
>> Spotted by the Coverity checker.
>
> A nearly identical patch was posted by Florin Malita <fmalita@xxxxxxxxx>
> to netdev (also the wrong list) on Wednesday evening.

Nod. I wasn't subscribed to netdev list.

>> done:
>> LEAVE();
>>
>> - skb->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */
>> -
>
> Except for this part...is this intentional?

skb could have been freed by then. And, in libertas_upload_rx_packet(), skb->protocol
is initialized by eth_type_trans(skb, priv->wlan_dev.netdev).

Eugene

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