lkml.org 
[lkml]   [2015]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] brcm80211:Use proper skb wrapper function in the function brcmf_sdio_txpkt_postp
On 10/03/2015 06:24 AM, Nicholas Krause wrote:
> This uses the proper skb wrapper function sk_unlink in the function
> brcmf_sdio_txpkt_postp to properly protect against concurrent users
> accessing this skb_buff pointer or skb_buff_head pointer by locking
> the spinlock as part of the passed skb_buff_head's definition due to
> neither this function nor its callers locking this spinlock before
> calling skb_unlink in order to avoid possible concurrent access on
> either of these possibly shared structure pointers.
>
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
> drivers/net/wireless/brcm80211/brcmfmac/sdio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
> index f990e3d..6b66542 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
> @@ -2308,7 +2308,7 @@ brcmf_sdio_txpkt_postp(struct brcmf_sdio *bus, struct sk_buff_head *pktq)
> pkt_prev = pkt_next->prev;
> skb_put(pkt_prev, chop_len);
> }
> - __skb_unlink(pkt_next, pktq);
> + skb_unlink(pkt_next, pktq);

Not sure what issue you are trying to solve here. I am pretty sure I
used __skb_unlink here on purpose. To my knowledge there is no
concurrency issue so please elaborate. Your commit message seems a bit
hypothetical.

Regards,
Arend

> brcmu_pkt_buf_free_skb(pkt_next);
> } else {
> hdr = pkt_next->data + bus->tx_hdrlen - SDPCM_SWHDR_LEN;
>



\
 
 \ /
  Last update: 2015-10-04 23:21    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog