lkml.org 
[lkml]   [2009]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [TIP] BUG kmalloc-4096: Poison overwritten (ath5k_rx_skb_alloc)
On 26.2.2009 02:06, Bob Copeland wrote:
> --- a/drivers/net/wireless/ath5k/base.c
> +++ b/drivers/net/wireless/ath5k/base.c
> @@ -1140,12 +1140,14 @@ ath5k_rxbuf_setup(struct ath5k_softc *sc, struct ath5k_buf *bf)
> struct ath5k_hw *ah = sc->ah;
> struct sk_buff *skb = bf->skb;
> struct ath5k_desc *ds;
> + dma_addr_t dma_addr;
>
> if (!skb) {
> - skb = ath5k_rx_skb_alloc(sc,&bf->skbaddr);
> + skb = ath5k_rx_skb_alloc(sc,&dma_addr);
> if (!skb)
> return -ENOMEM;
> bf->skb = skb;
> + bf->skbaddr = dma_addr;

Hmm, rather than the caller, ath5k_rx_skb_alloc is wrong here in my
eyes. It shouldn't touch the second parameter unless it knows it won't
fail anymore.


\
 
 \ /
  Last update: 2009-02-26 21:55    [W:0.179 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site