Search Linux Wireless

Re: [TIP] BUG kmalloc-4096: Poison overwritten (ath5k_rx_skb_alloc)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8.3.2009 04:09, Bob Copeland wrote:
At this point, I guess the best way forward is to have a special debug
patch for when we pass an skb up the stack, when it gets allocated, and
what is in the descriptors.

Yes, I have been thinking about some (ring buffer) array which would store address-desc_status pairs (even few megs in a vmalloc area) and pointer (not modulo-ed counter) to this array (index would be modulo-ed, indeed). From poison output we know the address, so we can then instruct ath5k to dump the buffer and see what happens :), what was in the status when we freed the skb.

Maybe some additional info may be needed, as you suggest.

Jiri, I really think we should implement that better check for the
self linked descriptor using the rxdp register.

As I stated a while ago, definitely!

bf_last is no longer a
valid marker for the self-linked descriptor at the end of the loop since
we re-add the just-processed descriptor every time through the loop
(or am I missing something?)...

Why? bf_last is snapshotted before the loop. And when we see this bf while processing, we stop. In the next round we check if bf->next is done. If yes, we move on.

If you want I'll cook up a patch for that too.

If you like, feel free to kick it off. Remember to remove bf->flags completely, so that we save another bunch of memory ;).
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux