* Possible memory leak in ath9k monitor mode injection
@ 2009-11-12 11:31 Lorenzo Bianconi
2009-11-12 14:18 ` Matteo Croce
0 siblings, 1 reply; 23+ messages in thread
From: Lorenzo Bianconi @ 2009-11-12 11:31 UTC (permalink / raw)
To: linux-wireless, ath9k-devel; +Cc: technoboy85
Hi all
I am playing with ath9k/mac80211 in monitor mode and I suspect there
is a memory leak.
The leak happens when injecting in monitor mode when the destination
MAC address is unicast.
In fact there is no leak sending broadcast packet.
I wrote this minimal test case module which triggers the leak.
Cheers.
Lorenzo Bianconi
#include <linux/init.h>
#include <linux/module.h>
#include <linux/etherdevice.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/timer.h>
#include <linux/version.h>
MODULE_LICENSE("Dual BSD/GPL");
const char ping_packet[] =
"\x00\x00\x1a\x00\x2f\x48\x00\x00\x06\x81\x1a\x05\x00\x00\x00\x00"
"\x10\x6c\x76\x09\xc0\x00\xdf\x00\x00\x00\x08\x00\x2c\x00\x00\x15"
"\x6d\x84\x13\x06\x00\x15\x6d\x84\x13\x05\xee\x74\x25\xdf\x3b\x78"
"\x00\x00\xaa\xaa\x03\x00\x00\x00\x08\x00\x00\x05\x5d\x44\xfb\xc3"
"\x40\x36\x5a\x21\xc9\x8e\x08\x00\x45\x00\x00\x54\x24\x22\x00\x00"
"\x40\x01\xd5\x2a\xc0\xa8\x00\x0b\xc0\xa8\x00\x01\x00\x00\x09\x95"
"\x84\x72\x01\x09\x38\x91\xfa\x4a\x51\x10\x02\x00\x08\x09\x0a\x0b"
"\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b"
"\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b"
"\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x93\x5a\x7b\x07"
;
const int ping_packet_size = 160;
struct net_device *dev;
struct timer_list timer;
int delay = HZ/1000;
static char *device = "wlan0";
module_param(device, charp, 0600);
module_param(delay, int, 0);
static struct sk_buff * create_skb(void)
{
struct sk_buff *skb = dev_alloc_skb(ping_packet_size);
if (!skb)
return NULL;
memcpy(skb_put(skb, ping_packet_size), ping_packet, ping_packet_size);
skb->dev = dev;
skb->ip_summed = CHECKSUM_UNNECESSARY;
skb->len = ping_packet_size;
skb->pkt_type = PACKET_OUTGOING;
return skb;
}
static void inject_packet(unsigned long x)
{
struct sk_buff *skb = create_skb();
dev->netdev_ops->ndo_start_xmit(skb, dev);
mod_timer(&timer, jiffies + delay);
}
static int __init inject_init(void)
{
printk(KERN_ALERT "%s Inject, inserting module\n", __func__);
dev = dev_get_by_name(&init_net, device);
printk(KERN_ALERT "%s Inject, initializing the timer\n", __func__);
init_timer(&timer);
timer.data = (unsigned long)0;
timer.function = inject_packet;
timer.expires = jiffies + delay;
add_timer(&timer);
return 0;
}
static void __exit inject_exit(void)
{
del_timer_sync(&timer);
printk(KERN_ALERT "%s Inject, exiting module\n", __func__);
}
module_init(inject_init);
module_exit(inject_exit);
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: Possible memory leak in ath9k monitor mode injection 2009-11-12 11:31 Possible memory leak in ath9k monitor mode injection Lorenzo Bianconi @ 2009-11-12 14:18 ` Matteo Croce 2009-11-12 15:44 ` [ath9k-devel] " Luis R. Rodriguez 0 siblings, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 14:18 UTC (permalink / raw) To: Lorenzo Bianconi; +Cc: linux-wireless, ath9k-devel On Thu, Nov 12, 2009 at 12:31 PM, Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> wrote: > Hi all > > I am playing with ath9k/mac80211 in monitor mode and I suspect there > is a memory leak. > The leak happens when injecting in monitor mode when the destination > MAC address is unicast. > In fact there is no leak sending broadcast packet. > I wrote this minimal test case module which triggers the leak. I can reproduce it with ath5k but not with madwifi, so the leak could be in mac80211 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 14:18 ` Matteo Croce @ 2009-11-12 15:44 ` Luis R. Rodriguez 2009-11-12 15:49 ` Luis R. Rodriguez 0 siblings, 1 reply; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-12 15:44 UTC (permalink / raw) To: Matteo Croce Cc: Lorenzo Bianconi, ath9k-devel@lists.ath9k.org, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 06:18:46AM -0800, Matteo Croce wrote: > On Thu, Nov 12, 2009 at 12:31 PM, Lorenzo Bianconi > <lorenzo.bianconi83@gmail.com> wrote: > > Hi all > > > > I am playing with ath9k/mac80211 in monitor mode and I suspect there > > is a memory leak. > > The leak happens when injecting in monitor mode when the destination > > MAC address is unicast. > > In fact there is no leak sending broadcast packet. > > I wrote this minimal test case module which triggers the leak. > > I can reproduce it with ath5k but not with madwifi, so the leak could > be in mac80211 Can you please resend the thread to linux-wireless for wider review, with the code snippet and all? Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 15:44 ` [ath9k-devel] " Luis R. Rodriguez @ 2009-11-12 15:49 ` Luis R. Rodriguez 2009-11-12 19:18 ` Matteo Croce 0 siblings, 1 reply; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-12 15:49 UTC (permalink / raw) To: Matteo Croce Cc: Lorenzo Bianconi, ath9k-devel@lists.ath9k.org, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 7:44 AM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 06:18:46AM -0800, Matteo Croce wrote: >> On Thu, Nov 12, 2009 at 12:31 PM, Lorenzo Bianconi >> <lorenzo.bianconi83@gmail.com> wrote: >> > Hi all >> > >> > I am playing with ath9k/mac80211 in monitor mode and I suspect there >> > is a memory leak. >> > The leak happens when injecting in monitor mode when the destination >> > MAC address is unicast. >> > In fact there is no leak sending broadcast packet. >> > I wrote this minimal test case module which triggers the leak. >> >> I can reproduce it with ath5k but not with madwifi, so the leak could >> be in mac80211 > > Can you please resend the thread to linux-wireless for wider review, with > the code snippet and all? Sorry failed to notice you already had. Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 15:49 ` Luis R. Rodriguez @ 2009-11-12 19:18 ` Matteo Croce 2009-11-12 19:31 ` Johannes Berg 0 siblings, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 19:18 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 4:49 PM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 7:44 AM, Luis R. Rodriguez > <lrodriguez@atheros.com> wrote: >> On Thu, Nov 12, 2009 at 06:18:46AM -0800, Matteo Croce wrote: >>> On Thu, Nov 12, 2009 at 12:31 PM, Lorenzo Bianconi >>> <lorenzo.bianconi83@gmail.com> wrote: >>> > Hi all >>> > >>> > I am playing with ath9k/mac80211 in monitor mode and I suspect there >>> > is a memory leak. >>> > The leak happens when injecting in monitor mode when the destination >>> > MAC address is unicast. >>> > In fact there is no leak sending broadcast packet. >>> > I wrote this minimal test case module which triggers the leak. >>> >>> I can reproduce it with ath5k but not with madwifi, so the leak could >>> be in mac80211 >> >> Can you please resend the thread to linux-wireless for wider review, with >> the code snippet and all? I have compiled a 2.6.31 x86 kernel with kmemleak, and when injecting the memory goes rapidly down: # while sleep 10; do free |grep Mem; done Mem: 127112 41780 85332 0 224 Mem: 127112 42580 84532 0 224 Mem: 127112 43360 83752 0 224 Mem: 127112 44160 82952 0 224 Mem: 127112 44960 82152 0 224 Mem: 127112 48140 78972 0 224 just to be sure that any program is stoling RAM: # ps PID USER VSZ STAT COMMAND 1 root 932 S init 2 root 0 SW< [kthreadd] 3 root 0 SW< [ksoftirqd/0] 4 root 0 SW< [watchdog/0] 5 root 0 SW< [events/0] 6 root 0 SW< [khelper] 9 root 0 SW< [async/mgr] 61 root 0 SW< [kblockd/0] 66 root 0 SW< [ata/0] 67 root 0 SW< [ata_aux] 107 root 0 SW [khungtaskd] 108 root 0 SW [pdflush] 109 root 0 SW [pdflush] 110 root 0 SW< [kswapd0] 111 root 0 SW< [aio/0] 112 root 0 SW< [crypto/0] 194 root 0 SW< [scsi_eh_0] 197 root 0 SW< [scsi_eh_1] 213 root 0 SWN [kmemleak] 369 root 936 R /bin/ash --login 505 root 0 SW< [phy0] 4369 root 932 S init 4371 root 924 R ps This time I'm using ath5k with an AR5212 card instead of ath9k, so the leak definitely is in mac80211 This is what kmemleak reports: # echo scan >/sys/kernel/debug/kmemleak ; cat /sys/kernel/debug/kmemleak kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) unreferenced object 0xc5cfea80 (size 192): comm "softirq", pid 0, jiffies 14191 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1a400 (size 1024): comm "softirq", pid 0, jiffies 14191 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7ac9e40 (size 192): comm "softirq", pid 0, jiffies 14192 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a05000 (size 1024): comm "softirq", pid 0, jiffies 14192 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7ac9d80 (size 192): comm "softirq", pid 0, jiffies 14193 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a04800 (size 1024): comm "softirq", pid 0, jiffies 14193 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7ac9c00 (size 192): comm "softirq", pid 0, jiffies 14194 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc707b800 (size 1024): comm "softirq", pid 0, jiffies 14194 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7ac9f00 (size 192): comm "softirq", pid 0, jiffies 14195 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a05400 (size 1024): comm "softirq", pid 0, jiffies 14195 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df480 (size 192): comm "softirq", pid 0, jiffies 14196 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1c000 (size 1024): comm "softirq", pid 0, jiffies 14196 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df540 (size 192): comm "softirq", pid 0, jiffies 14197 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1c800 (size 1024): comm "softirq", pid 0, jiffies 14197 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df3c0 (size 192): comm "softirq", pid 0, jiffies 14198 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1cc00 (size 1024): comm "softirq", pid 0, jiffies 14198 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df300 (size 192): comm "softirq", pid 0, jiffies 14199 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1d000 (size 1024): comm "softirq", pid 0, jiffies 14199 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df600 (size 192): comm "softirq", pid 0, jiffies 14200 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1d400 (size 1024): comm "softirq", pid 0, jiffies 14200 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df180 (size 192): comm "softirq", pid 0, jiffies 14201 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1d800 (size 1024): comm "softirq", pid 0, jiffies 14201 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df6c0 (size 192): comm "softirq", pid 0, jiffies 14202 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1dc00 (size 1024): comm "softirq", pid 0, jiffies 14202 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df780 (size 192): comm "softirq", pid 0, jiffies 14203 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a04400 (size 1024): comm "softirq", pid 0, jiffies 14203 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df0c0 (size 192): comm "softirq", pid 0, jiffies 14204 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a05800 (size 1024): comm "softirq", pid 0, jiffies 14204 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df000 (size 192): comm "softirq", pid 0, jiffies 14205 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6cb7800 (size 1024): comm "softirq", pid 0, jiffies 14205 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc69df840 (size 192): comm "softirq", pid 0, jiffies 14206 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d1c400 (size 1024): comm "softirq", pid 0, jiffies 14206 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d000c0 (size 192): comm "softirq", pid 0, jiffies 14207 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6cb9800 (size 1024): comm "softirq", pid 0, jiffies 14256 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14780 (size 192): comm "softirq", pid 0, jiffies 14257 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d24000 (size 1024): comm "softirq", pid 0, jiffies 14257 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14840 (size 192): comm "softirq", pid 0, jiffies 14258 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d24800 (size 1024): comm "softirq", pid 0, jiffies 14258 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14900 (size 192): comm "softirq", pid 0, jiffies 14259 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d24c00 (size 1024): comm "softirq", pid 0, jiffies 14259 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d149c0 (size 192): comm "softirq", pid 0, jiffies 14260 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d25000 (size 1024): comm "softirq", pid 0, jiffies 14260 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14a80 (size 192): comm "softirq", pid 0, jiffies 14261 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d25400 (size 1024): comm "softirq", pid 0, jiffies 14261 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14b40 (size 192): comm "softirq", pid 0, jiffies 14262 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d25800 (size 1024): comm "softirq", pid 0, jiffies 14262 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14c00 (size 192): comm "softirq", pid 0, jiffies 14263 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d25c00 (size 1024): comm "softirq", pid 0, jiffies 14263 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14cc0 (size 192): comm "softirq", pid 0, jiffies 14264 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a0fc00 (size 1024): comm "softirq", pid 0, jiffies 14264 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14d80 (size 192): comm "softirq", pid 0, jiffies 14265 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6a0f400 (size 1024): comm "softirq", pid 0, jiffies 14265 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14e40 (size 192): comm "softirq", pid 0, jiffies 14266 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7273800 (size 1024): comm "softirq", pid 0, jiffies 14266 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d14f00 (size 192): comm "softirq", pid 0, jiffies 14267 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7273c00 (size 1024): comm "softirq", pid 0, jiffies 14267 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6ca56c0 (size 192): comm "softirq", pid 0, jiffies 14268 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d24400 (size 1024): comm "softirq", pid 0, jiffies 14268 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6ca5540 (size 192): comm "softirq", pid 0, jiffies 14269 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6cb8400 (size 1024): comm "softirq", pid 0, jiffies 14269 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6ca50c0 (size 192): comm "softirq", pid 0, jiffies 14271 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc7272c00 (size 1024): comm "softirq", pid 0, jiffies 14271 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6ca5480 (size 192): comm "softirq", pid 0, jiffies 14272 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d26000 (size 1024): comm "softirq", pid 0, jiffies 14272 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6ca5180 (size 192): comm "softirq", pid 0, jiffies 14273 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5d26800 (size 1024): comm "softirq", pid 0, jiffies 14273 backtrace: [<ffffffff>] 0xffffffff and again: # echo scan >/sys/kernel/debug/kmemleak ; cat /sys/kernel/debug/km emleak kmemleak: 20 new suspected memory leaks (see /sys/kernel/debug/kmemleak) unreferenced object 0xc586b540 (size 192): comm "softirq", pid 0, jiffies 18612 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc70c0800 (size 1024): comm "softirq", pid 0, jiffies 18612 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586b600 (size 192): comm "softirq", pid 0, jiffies 18613 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6d81800 (size 1024): comm "softirq", pid 0, jiffies 18613 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586b6c0 (size 192): comm "softirq", pid 0, jiffies 18614 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6b96800 (size 1024): comm "softirq", pid 0, jiffies 18614 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586b840 (size 192): comm "softirq", pid 0, jiffies 18615 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6b96000 (size 1024): comm "softirq", pid 0, jiffies 18615 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586b900 (size 192): comm "softirq", pid 0, jiffies 18616 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6b96c00 (size 1024): comm "softirq", pid 0, jiffies 18616 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586b9c0 (size 192): comm "softirq", pid 0, jiffies 18617 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc5886400 (size 1024): comm "softirq", pid 0, jiffies 18617 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586ba80 (size 192): comm "softirq", pid 0, jiffies 18618 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6b97400 (size 1024): comm "softirq", pid 0, jiffies 18618 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc586bb40 (size 192): comm "softirq", pid 0, jiffies 18619 backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xc6baa400 (size 1024): comm "softirq", pid 0, jiffies 18619 backtrace: [<ffffffff>] 0xffffffff ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:18 ` Matteo Croce @ 2009-11-12 19:31 ` Johannes Berg 2009-11-12 19:35 ` Luis R. Rodriguez ` (2 more replies) 0 siblings, 3 replies; 23+ messages in thread From: Johannes Berg @ 2009-11-12 19:31 UTC (permalink / raw) To: Matteo Croce Cc: Luis R. Rodriguez, Lorenzo Bianconi, linux-wireless@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 528 bytes --] On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: > # echo scan >/sys/kernel/debug/kmemleak ; cat > /sys/kernel/debug/kmemleak > kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) > unreferenced object 0xc5cfea80 (size 192): > comm "softirq", pid 0, jiffies 14191 > backtrace: > [<ffffffff>] 0xffffffff that's kinda useless, can you run for slab in /sys/kernel/slab/* ; do echo $(cat $slab/objects) in $slab ; done|sort -n and tell us which one increases most? johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:31 ` Johannes Berg @ 2009-11-12 19:35 ` Luis R. Rodriguez 2009-11-12 19:36 ` Luis R. Rodriguez 2009-11-12 22:16 ` Matteo Croce 2009-11-12 22:08 ` Matteo Croce 2009-11-12 22:18 ` Matteo Croce 2 siblings, 2 replies; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-12 19:35 UTC (permalink / raw) To: Johannes Berg Cc: Matteo Croce, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg <johannes@sipsolutions.net> wrote: > On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: > >> # echo scan >/sys/kernel/debug/kmemleak ; cat >> /sys/kernel/debug/kmemleak >> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> unreferenced object 0xc5cfea80 (size 192): >> comm "softirq", pid 0, jiffies 14191 >> backtrace: >> [<ffffffff>] 0xffffffff > > that's kinda useless, can you run But if you insist on using kmemleak, try clearing the list echo clear > kmemleak Then scan echo scan > kmemleak then run your frame injection tests and then re-run scan. echo scan > kmemleak Then paste the output here. Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:35 ` Luis R. Rodriguez @ 2009-11-12 19:36 ` Luis R. Rodriguez 2009-11-12 22:16 ` Matteo Croce 1 sibling, 0 replies; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-12 19:36 UTC (permalink / raw) To: Johannes Berg Cc: Matteo Croce, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 11:35 AM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg > <johannes@sipsolutions.net> wrote: >> On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: >> >>> # echo scan >/sys/kernel/debug/kmemleak ; cat >>> /sys/kernel/debug/kmemleak >>> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >>> unreferenced object 0xc5cfea80 (size 192): >>> comm "softirq", pid 0, jiffies 14191 >>> backtrace: >>> [<ffffffff>] 0xffffffff >> >> that's kinda useless, can you run > > But if you insist on using kmemleak, try clearing the list > > echo clear > kmemleak > > Then scan > > echo scan > kmemleak > > then run your frame injection tests and then re-run scan. > > echo scan > kmemleak > > Then paste the output here. You need a kernel with debugging too to get a good valuable trace. Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:35 ` Luis R. Rodriguez 2009-11-12 19:36 ` Luis R. Rodriguez @ 2009-11-12 22:16 ` Matteo Croce 2009-11-12 22:28 ` Luis R. Rodriguez 1 sibling, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 22:16 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Johannes Berg, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 8:35 PM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg > <johannes@sipsolutions.net> wrote: >> On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: >> >>> # echo scan >/sys/kernel/debug/kmemleak ; cat >>> /sys/kernel/debug/kmemleak >>> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >>> unreferenced object 0xc5cfea80 (size 192): >>> comm "softirq", pid 0, jiffies 14191 >>> backtrace: >>> [<ffffffff>] 0xffffffff >> >> that's kinda useless, can you run > > But if you insist on using kmemleak, try clearing the list > > echo clear > kmemleak > > Then scan > > echo scan > kmemleak > > then run your frame injection tests and then re-run scan. > > echo scan > kmemleak > > Then paste the output here. > > Luis > root@alix:/sys/kernel/debug# rmmod inject inject_exit Inject, exiting module root@alix:/sys/kernel/debug# echo clear > kmemleak root@alix:/sys/kernel/debug# echo scan >kmemleak kmemleak: 61037 new suspected memory leaks (see /sys/kernel/debug/kmemleak) root@alix:/sys/kernel/debug# modprobe inject inject_init Inject, inserting module inject_init Inject, initializing the timer root@alix:/sys/kernel/debug# echo scan >kmemleak root@alix:/sys/kernel/debug# cat kmemleak unreferenced object 0xccd48e70 (size 64): comm "softirq", pid 0, jiffies 3615 hex dump (first 32 bytes): 20 89 ed ce b9 83 d2 00 00 00 01 1b 00 80 00 04 ............... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcd6f7930 (size 64): comm "softirq", pid 0, jiffies 11486 hex dump (first 32 bytes): 20 89 ed ce 6a a3 83 05 00 00 01 1b 00 80 00 04 ...j........... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcbe57c40 (size 64): comm "softirq", pid 0, jiffies 28666 hex dump (first 32 bytes): 20 89 ed ce cc 52 c1 0f 00 00 01 1b 00 80 00 04 ....R.......... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcbe71850 (size 64): comm "softirq", pid 0, jiffies 28981 hex dump (first 32 bytes): 20 89 ed ce c9 64 f1 0f 00 00 01 1b 00 80 00 04 ....d.......... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcbe71f50 (size 64): comm "softirq", pid 0, jiffies 30041 hex dump (first 32 bytes): 20 89 ed ce 4a 26 93 10 00 00 01 1b 00 80 00 04 ...J&.......... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcb4b0230 (size 64): comm "softirq", pid 0, jiffies 35770 hex dump (first 32 bytes): 20 89 ed ce 79 66 fd 13 00 00 01 1b 00 80 00 04 ...yf.......... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff unreferenced object 0xcb4b02a0 (size 64): comm "softirq", pid 0, jiffies 35771 hex dump (first 32 bytes): 20 89 ed ce b1 8d fd 13 00 00 01 1b 00 80 00 04 ............... 00 00 00 80 80 80 80 80 80 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff>] 0xffffffff ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 22:16 ` Matteo Croce @ 2009-11-12 22:28 ` Luis R. Rodriguez 2009-11-12 22:37 ` Matteo Croce 2009-11-12 23:04 ` Matteo Croce 0 siblings, 2 replies; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-12 22:28 UTC (permalink / raw) To: Matteo Croce Cc: Luis Rodriguez, Johannes Berg, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 02:16:09PM -0800, Matteo Croce wrote: > On Thu, Nov 12, 2009 at 8:35 PM, Luis R. Rodriguez > <lrodriguez@atheros.com> wrote: > > On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg > > <johannes@sipsolutions.net> wrote: > >> On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: > >> > >>> # echo scan >/sys/kernel/debug/kmemleak ; cat > >>> /sys/kernel/debug/kmemleak > >>> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) > >>> unreferenced object 0xc5cfea80 (size 192): > >>> comm "softirq", pid 0, jiffies 14191 > >>> backtrace: > >>> [<ffffffff>] 0xffffffff > >> > >> that's kinda useless, can you run > > > > But if you insist on using kmemleak, try clearing the list > > > > echo clear > kmemleak > > > > Then scan > > > > echo scan > kmemleak > > > > then run your frame injection tests and then re-run scan. > > > > echo scan > kmemleak > > > > Then paste the output here. > > > > Luis > > > > root@alix:/sys/kernel/debug# rmmod inject > inject_exit Inject, exiting module > root@alix:/sys/kernel/debug# echo clear > kmemleak I forgot you're on 2.6.31, clear stuff was added to kmemleak for 2.6.32. > root@alix:/sys/kernel/debug# echo scan >kmemleak > kmemleak: 61037 new suspected memory leaks (see /sys/kernel/debug/kmemleak) > root@alix:/sys/kernel/debug# modprobe inject > inject_init Inject, inserting module > inject_init Inject, initializing the timer > root@alix:/sys/kernel/debug# echo scan >kmemleak > root@alix:/sys/kernel/debug# cat kmemleak > unreferenced object 0xccd48e70 (size 64): What's 0xccd48e70 and friends? Can you enable debugging on your kernel? Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 22:28 ` Luis R. Rodriguez @ 2009-11-12 22:37 ` Matteo Croce 2009-11-12 22:58 ` Lorenzo Bianconi 2009-11-12 23:04 ` Matteo Croce 1 sibling, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 22:37 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Luis Rodriguez, Johannes Berg, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 11:28 PM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 02:16:09PM -0800, Matteo Croce wrote: >> On Thu, Nov 12, 2009 at 8:35 PM, Luis R. Rodriguez >> <lrodriguez@atheros.com> wrote: >> > On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg >> > <johannes@sipsolutions.net> wrote: >> >> On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: >> >> >> >>> # echo scan >/sys/kernel/debug/kmemleak ; cat >> >>> /sys/kernel/debug/kmemleak >> >>> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> >>> unreferenced object 0xc5cfea80 (size 192): >> >>> comm "softirq", pid 0, jiffies 14191 >> >>> backtrace: >> >>> [<ffffffff>] 0xffffffff >> >> >> >> that's kinda useless, can you run >> > >> > But if you insist on using kmemleak, try clearing the list >> > >> > echo clear > kmemleak >> > >> > Then scan >> > >> > echo scan > kmemleak >> > >> > then run your frame injection tests and then re-run scan. >> > >> > echo scan > kmemleak >> > >> > Then paste the output here. >> > >> > Luis >> > >> >> root@alix:/sys/kernel/debug# rmmod inject >> inject_exit Inject, exiting module >> root@alix:/sys/kernel/debug# echo clear > kmemleak > > I forgot you're on 2.6.31, clear stuff was added to kmemleak for 2.6.32. > >> root@alix:/sys/kernel/debug# echo scan >kmemleak >> kmemleak: 61037 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> root@alix:/sys/kernel/debug# modprobe inject >> inject_init Inject, inserting module >> inject_init Inject, initializing the timer >> root@alix:/sys/kernel/debug# echo scan >kmemleak >> root@alix:/sys/kernel/debug# cat kmemleak >> unreferenced object 0xccd48e70 (size 64): > > What's 0xccd48e70 and friends? Can you enable debugging on your kernel? > > Luis > Debugging is enabled but i guess it's a kernel module root@alix:/usr/src/wireless-testing# gdb vmlinux GNU gdb (GDB) 7.0-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/src/wireless-testing/vmlinux...done. (gdb) l *0xccd48e70 No source file for address 0xccd48e70. (gdb) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 22:37 ` Matteo Croce @ 2009-11-12 22:58 ` Lorenzo Bianconi 0 siblings, 0 replies; 23+ messages in thread From: Lorenzo Bianconi @ 2009-11-12 22:58 UTC (permalink / raw) To: Matteo Croce; +Cc: Luis.Rodriguez, johannes, linux-wireless > Debugging is enabled but i guess it's a kernel module > > root@alix:/usr/src/wireless-testing# gdb vmlinux > GNU gdb (GDB) 7.0-debian > Copyright (C) 2009 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i486-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /usr/src/wireless-testing/vmlinux...done. > (gdb) l *0xccd48e70 > No source file for address 0xccd48e70. > (gdb) > Running the minimal test case module on a 2.6.31.5 standard kernel I obtained these results: Cheers. Lorenzo 23:18:18 up 5 min, 4 users, load average: 0.11, 0.37, 0.20 total used free shared buffers cached Mem: 3785552 699684 3085868 0 35404 307544 -/+ buffers/cache: 356736 3428816 Swap: 947824 0 947824 23:19:03 up 5 min, 4 users, load average: 0.10, 0.33, 0.19 total used free shared buffers cached Mem: 3785552 702244 3083308 0 35436 307548 -/+ buffers/cache: 359260 3426292 Swap: 947824 0 947824 23:19:46 up 6 min, 4 users, load average: 0.09, 0.30, 0.18 total used free shared buffers cached Mem: 3785552 705708 3079844 0 35476 307548 -/+ buffers/cache: 362684 3422868 Swap: 947824 0 947824 23:22:17 up 9 min, 4 users, load average: 0.00, 0.17, 0.15 total used free shared buffers cached Mem: 3785552 722036 3063516 0 35884 307560 -/+ buffers/cache: 378592 3406960 Swap: 947824 0 947824 23:34:34 up 21 min, 4 users, load average: 0.14, 0.09, 0.11 total used free shared buffers cached Mem: 3785552 809180 2976372 0 39320 325364 -/+ buffers/cache: 444496 3341056 Swap: 947824 0 947824 diff -u a b @@ -43,15 +43,15 @@ 132 in /sys/kernel/slab/mm_struct 132 in /sys/kernel/slab/:t-0000896 146 in /sys/kernel/slab/:at-0000056 +146 in /sys/kernel/slab/:at-0000112 146 in /sys/kernel/slab/ext4_free_block_extents +146 in /sys/kernel/slab/jbd2_journal_head 146 in /sys/kernel/slab/skbuff_fclone_cache 146 in /sys/kernel/slab/:t-0000448 150 in /sys/kernel/slab/sighand_cache 156 in /sys/kernel/slab/:at-0000104 -156 in /sys/kernel/slab/:at-0000112 156 in /sys/kernel/slab/ext4_prealloc_space 156 in /sys/kernel/slab/fsnotify_event -156 in /sys/kernel/slab/jbd2_journal_head 156 in /sys/kernel/slab/:t-0000104 170 in /sys/kernel/slab/Acpi-Parse 170 in /sys/kernel/slab/bip-16 @@ -94,7 +94,7 @@ 420 in /sys/kernel/slab/idr_layer_cache 420 in /sys/kernel/slab/:t-0000544 549 in /sys/kernel/slab/kmalloc-8192 -551 in /sys/kernel/slab/:t-0008192 +549 in /sys/kernel/slab/:t-0008192 623 in /sys/kernel/slab/biovec-256 623 in /sys/kernel/slab/kmalloc-4096 623 in /sys/kernel/slab/names_cache @@ -104,20 +104,20 @@ 772 in /sys/kernel/slab/sgpool-16 772 in /sys/kernel/slab/:t-0000512 824 in /sys/kernel/slab/proc_inode_cache -899 in /sys/kernel/slab/bip-1 -899 in /sys/kernel/slab/cred_jar -899 in /sys/kernel/slab/eventpoll_epi -899 in /sys/kernel/slab/kmalloc-128 -899 in /sys/kernel/slab/pid -899 in /sys/kernel/slab/request_sock_TCP -899 in /sys/kernel/slab/scsi_sense_cache -899 in /sys/kernel/slab/:t-0000128 -899 in /sys/kernel/slab/uid_cache +898 in /sys/kernel/slab/bip-1 +898 in /sys/kernel/slab/cred_jar +898 in /sys/kernel/slab/eventpoll_epi +898 in /sys/kernel/slab/kmalloc-128 +898 in /sys/kernel/slab/pid +898 in /sys/kernel/slab/request_sock_TCP +898 in /sys/kernel/slab/scsi_sense_cache +898 in /sys/kernel/slab/:t-0000128 +898 in /sys/kernel/slab/uid_cache 1405 in /sys/kernel/slab/shmem_inode_cache -1992 in /sys/kernel/slab/kmalloc-1024 -1994 in /sys/kernel/slab/biovec-64 -1994 in /sys/kernel/slab/:t-0001024 -1995 in /sys/kernel/slab/sgpool-32 +1991 in /sys/kernel/slab/sgpool-32 +1993 in /sys/kernel/slab/biovec-64 +1993 in /sys/kernel/slab/kmalloc-1024 +1993 in /sys/kernel/slab/:t-0001024 2097 in /sys/kernel/slab/Acpi-Operand 2097 in /sys/kernel/slab/Acpi-ParseExt 2097 in /sys/kernel/slab/eventpoll_pwq @@ -126,15 +126,15 @@ 2294 in /sys/kernel/slab/biovec-1 2294 in /sys/kernel/slab/kmalloc-16 2294 in /sys/kernel/slab/:t-0000016 -2565 in /sys/kernel/slab/biovec-4 -2565 in /sys/kernel/slab/fib6_nodes -2565 in /sys/kernel/slab/fs_cache -2565 in /sys/kernel/slab/inet_peer_cache -2565 in /sys/kernel/slab/kmalloc-64 -2565 in /sys/kernel/slab/secpath_cache -2565 in /sys/kernel/slab/:t-0000064 -2565 in /sys/kernel/slab/xfrm6_tunnel_spi -2729 in /sys/kernel/slab/anon_vma +2517 in /sys/kernel/slab/biovec-4 +2517 in /sys/kernel/slab/fib6_nodes +2517 in /sys/kernel/slab/fs_cache +2517 in /sys/kernel/slab/inet_peer_cache +2517 in /sys/kernel/slab/kmalloc-64 +2517 in /sys/kernel/slab/secpath_cache +2517 in /sys/kernel/slab/:t-0000064 +2517 in /sys/kernel/slab/xfrm6_tunnel_spi +2776 in /sys/kernel/slab/anon_vma 2936 in /sys/kernel/slab/Acpi-Namespace 2936 in /sys/kernel/slab/dnotify_struct 2936 in /sys/kernel/slab/inotify_event_private_data @@ -143,40 +143,40 @@ 2936 in /sys/kernel/slab/nv_pte_t 2936 in /sys/kernel/slab/:t-0000032 2936 in /sys/kernel/slab/tcp_bind_bucket -2970 in /sys/kernel/slab/scsi_cmd_cache -2971 in /sys/kernel/slab/kiocb -2971 in /sys/kernel/slab/skbuff_head_cache -2972 in /sys/kernel/slab/arp_cache -2972 in /sys/kernel/slab/kmalloc-256 -2972 in /sys/kernel/slab/mnt_cache -2972 in /sys/kernel/slab/sgpool-8 -2973 in /sys/kernel/slab/biovec-16 -2973 in /sys/kernel/slab/ndisc_cache 2973 in /sys/kernel/slab/:t-0000256 -3086 in /sys/kernel/slab/inode_cache +2974 in /sys/kernel/slab/kiocb +2975 in /sys/kernel/slab/biovec-16 +2975 in /sys/kernel/slab/kmalloc-256 +2975 in /sys/kernel/slab/ndisc_cache +2976 in /sys/kernel/slab/arp_cache +2976 in /sys/kernel/slab/skbuff_head_cache +2977 in /sys/kernel/slab/mnt_cache +2977 in /sys/kernel/slab/scsi_cmd_cache +2977 in /sys/kernel/slab/sgpool-8 +3084 in /sys/kernel/slab/inode_cache 3578 in /sys/kernel/slab/kmalloc-8 3578 in /sys/kernel/slab/:t-0000008 -4808 in /sys/kernel/slab/filp -4812 in /sys/kernel/slab/bio-0 -4812 in /sys/kernel/slab/bip-4 -4814 in /sys/kernel/slab/request_sock_TCPv6 -4816 in /sys/kernel/slab/kmalloc-192 -4820 in /sys/kernel/slab/:t-0000192 -5963 in /sys/kernel/slab/radix_tree_node +4786 in /sys/kernel/slab/request_sock_TCPv6 +4793 in /sys/kernel/slab/bip-4 +4793 in /sys/kernel/slab/kmalloc-192 +4793 in /sys/kernel/slab/:t-0000192 +4795 in /sys/kernel/slab/filp +4796 in /sys/kernel/slab/bio-0 +6040 in /sys/kernel/slab/radix_tree_node 10173 in /sys/kernel/slab/Acpi-State 10173 in /sys/kernel/slab/blkdev_ioc 10173 in /sys/kernel/slab/scsi_tgt_cmd 10173 in /sys/kernel/slab/sysfs_dir_cache 10173 in /sys/kernel/slab/:t-0000080 -10796 in /sys/kernel/slab/buffer_head -11532 in /sys/kernel/slab/vm_area_struct -11557 in /sys/kernel/slab/cfq_io_context -11557 in /sys/kernel/slab/cfq_queue -11557 in /sys/kernel/slab/:t-0000168 -11719 in /sys/kernel/slab/ext4_inode_cache -27271 in /sys/kernel/slab/:at-0000192 -27271 in /sys/kernel/slab/dentry -128562 in /sys/kernel/slab/flow_cache -128562 in /sys/kernel/slab/kmalloc-96 -128604 in /sys/kernel/slab/:t-0000096 -241093 in /sys/kernel/slab/kmemleak_object +10947 in /sys/kernel/slab/buffer_head +11315 in /sys/kernel/slab/cfq_io_context +11315 in /sys/kernel/slab/cfq_queue +11315 in /sys/kernel/slab/:t-0000168 +11315 in /sys/kernel/slab/vm_area_struct +11800 in /sys/kernel/slab/ext4_inode_cache +27442 in /sys/kernel/slab/:at-0000192 +27442 in /sys/kernel/slab/dentry +155568 in /sys/kernel/slab/flow_cache +155568 in /sys/kernel/slab/kmalloc-96 +155610 in /sys/kernel/slab/:t-0000096 +268261 in /sys/kernel/slab/kmemleak_object ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 22:28 ` Luis R. Rodriguez 2009-11-12 22:37 ` Matteo Croce @ 2009-11-12 23:04 ` Matteo Croce 2009-11-13 7:06 ` Johannes Berg 1 sibling, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 23:04 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Luis Rodriguez, Johannes Berg, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 11:28 PM, Luis R. Rodriguez <lrodriguez@atheros.com> wrote: > On Thu, Nov 12, 2009 at 02:16:09PM -0800, Matteo Croce wrote: >> On Thu, Nov 12, 2009 at 8:35 PM, Luis R. Rodriguez >> <lrodriguez@atheros.com> wrote: >> > On Thu, Nov 12, 2009 at 11:31 AM, Johannes Berg >> > <johannes@sipsolutions.net> wrote: >> >> On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: >> >> >> >>> # echo scan >/sys/kernel/debug/kmemleak ; cat >> >>> /sys/kernel/debug/kmemleak >> >>> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> >>> unreferenced object 0xc5cfea80 (size 192): >> >>> comm "softirq", pid 0, jiffies 14191 >> >>> backtrace: >> >>> [<ffffffff>] 0xffffffff >> >> >> >> that's kinda useless, can you run >> > >> > But if you insist on using kmemleak, try clearing the list >> > >> > echo clear > kmemleak >> > >> > Then scan >> > >> > echo scan > kmemleak >> > >> > then run your frame injection tests and then re-run scan. >> > >> > echo scan > kmemleak >> > >> > Then paste the output here. >> > >> > Luis >> > >> >> root@alix:/sys/kernel/debug# rmmod inject >> inject_exit Inject, exiting module >> root@alix:/sys/kernel/debug# echo clear > kmemleak > > I forgot you're on 2.6.31, clear stuff was added to kmemleak for 2.6.32. > >> root@alix:/sys/kernel/debug# echo scan >kmemleak >> kmemleak: 61037 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> root@alix:/sys/kernel/debug# modprobe inject >> inject_init Inject, inserting module >> inject_init Inject, initializing the timer >> root@alix:/sys/kernel/debug# echo scan >kmemleak >> root@alix:/sys/kernel/debug# cat kmemleak >> unreferenced object 0xccd48e70 (size 64): > > What's 0xccd48e70 and friends? Can you enable debugging on your kernel? > > Luis > I've built a monolithic kernel, no luck: (gdb) l *0xcee26a80 No source file for address 0xcee26a80. (gdb) l *0xcee26a10 No source file for address 0xcee26a10. (gdb) l *0xcee262a0 No source file for address 0xcee262a0. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 23:04 ` Matteo Croce @ 2009-11-13 7:06 ` Johannes Berg 0 siblings, 0 replies; 23+ messages in thread From: Johannes Berg @ 2009-11-13 7:06 UTC (permalink / raw) To: Matteo Croce Cc: Luis R. Rodriguez, Luis Rodriguez, Lorenzo Bianconi, linux-wireless@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 470 bytes --] On Fri, 2009-11-13 at 00:04 +0100, Matteo Croce wrote: > >> root@alix:/sys/kernel/debug# cat kmemleak > >> unreferenced object 0xccd48e70 (size 64): > > > > What's 0xccd48e70 and friends? Can you enable debugging on your kernel? > > > > Luis > > > > I've built a monolithic kernel, no luck: > > (gdb) l *0xcee26a80 > No source file for address 0xcee26a80. Not surprising at all since that's a kmalloc'ed object, not a .text address ... johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:31 ` Johannes Berg 2009-11-12 19:35 ` Luis R. Rodriguez @ 2009-11-12 22:08 ` Matteo Croce 2009-11-12 22:18 ` Matteo Croce 2 siblings, 0 replies; 23+ messages in thread From: Matteo Croce @ 2009-11-12 22:08 UTC (permalink / raw) To: Johannes Berg Cc: Luis R. Rodriguez, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 8:31 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: > >> # echo scan >/sys/kernel/debug/kmemleak ; cat >> /sys/kernel/debug/kmemleak >> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> unreferenced object 0xc5cfea80 (size 192): >> comm "softirq", pid 0, jiffies 14191 >> backtrace: >> [<ffffffff>] 0xffffffff > > that's kinda useless, can you run > > for slab in /sys/kernel/slab/* ; do echo $(cat $slab/objects) in $slab ; done|sort -n > > and tell us which one increases most? > > johannes > # diff -u leak.1 leak.2 --- leak.1 2000-01-01 01:19:56.817434067 +0100 +++ leak.2 2000-01-01 01:20:45.447434308 +0100 @@ -77,10 +77,10 @@ 51 in /sys/kernel/slab/ext4_free_block_extents 51 in /sys/kernel/slab/ip_fib_hash 51 in /sys/kernel/slab/sd_ext_cdb -64 in /sys/kernel/slab/cred_jar 64 in /sys/kernel/slab/jbd2_journal_handle 64 in /sys/kernel/slab/jbd2_revoke_record 64 in /sys/kernel/slab/pid +65 in /sys/kernel/slab/cred_jar 68 in /sys/kernel/slab/kmalloc-128 73 in /sys/kernel/slab/jbd2_revoke_table 82 in /sys/kernel/slab/kmalloc-1024 @@ -90,21 +90,21 @@ 142 in /sys/kernel/slab/kmalloc-256 147 in /sys/kernel/slab/idr_layer_cache 152 in /sys/kernel/slab/proc_inode_cache -154 in /sys/kernel/slab/filp +157 in /sys/kernel/slab/filp 203 in /sys/kernel/slab/anon_vma 265 in /sys/kernel/slab/shmem_inode_cache 334 in /sys/kernel/slab/kmalloc-96 400 in /sys/kernel/slab/kmalloc-32 -460 in /sys/kernel/slab/vm_area_struct -503 in /sys/kernel/slab/radix_tree_node +467 in /sys/kernel/slab/vm_area_struct +507 in /sys/kernel/slab/radix_tree_node 513 in /sys/kernel/slab/kmalloc-8192 515 in /sys/kernel/slab/skbuff_head_cache 546 in /sys/kernel/slab/inode_cache 767 in /sys/kernel/slab/kmalloc-16 795 in /sys/kernel/slab/ext4_inode_cache 1019 in /sys/kernel/slab/kmalloc-8 -2088 in /sys/kernel/slab/buffer_head +2135 in /sys/kernel/slab/buffer_head 2916 in /sys/kernel/slab/dentry 7088 in /sys/kernel/slab/sysfs_dir_cache -56194 in /sys/kernel/slab/kmalloc-64 -75769 in /sys/kernel/slab/kmemleak_object +61054 in /sys/kernel/slab/kmalloc-64 +80680 in /sys/kernel/slab/kmemleak_object ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 19:31 ` Johannes Berg 2009-11-12 19:35 ` Luis R. Rodriguez 2009-11-12 22:08 ` Matteo Croce @ 2009-11-12 22:18 ` Matteo Croce 2009-11-13 7:31 ` Johannes Berg 2 siblings, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-12 22:18 UTC (permalink / raw) To: Johannes Berg Cc: Luis R. Rodriguez, Lorenzo Bianconi, linux-wireless@vger.kernel.org On Thu, Nov 12, 2009 at 8:31 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > On Thu, 2009-11-12 at 20:18 +0100, Matteo Croce wrote: > >> # echo scan >/sys/kernel/debug/kmemleak ; cat >> /sys/kernel/debug/kmemleak >> kmemleak: 197 new suspected memory leaks (see /sys/kernel/debug/kmemleak) >> unreferenced object 0xc5cfea80 (size 192): >> comm "softirq", pid 0, jiffies 14191 >> backtrace: >> [<ffffffff>] 0xffffffff > > that's kinda useless, can you run > > for slab in /sys/kernel/slab/* ; do echo $(cat $slab/objects) in $slab ; done|sort -n > > and tell us which one increases most? > > johannes > kmalloc-64 is definitely getting fat root@alix:~/leak# diff -u leak.1 leak.3 --- leak.1 2000-01-01 01:19:56.817434067 +0100 +++ leak.3 2000-01-01 01:29:48.917438188 +0100 @@ -55,56 +55,56 @@ 21 in /sys/kernel/slab/sigqueue 22 in /sys/kernel/slab/files_cache 24 in /sys/kernel/slab/sock_inode_cache +25 in /sys/kernel/slab/bio-0 25 in /sys/kernel/slab/ext4_alloc_context 25 in /sys/kernel/slab/scsi_sense_cache 26 in /sys/kernel/slab/cfq_queue -27 in /sys/kernel/slab/bio-0 28 in /sys/kernel/slab/file_lock_cache 30 in /sys/kernel/slab/cfq_io_context 30 in /sys/kernel/slab/kmalloc-2048 33 in /sys/kernel/slab/task_xstate 36 in /sys/kernel/slab/ext4_prealloc_space -36 in /sys/kernel/slab/sighand_cache 37 in /sys/kernel/slab/signal_cache 39 in /sys/kernel/slab/inotify_inode_mark_entry 39 in /sys/kernel/slab/jbd2_journal_head 42 in /sys/kernel/slab/fib6_nodes 42 in /sys/kernel/slab/fs_cache 42 in /sys/kernel/slab/inet_peer_cache +42 in /sys/kernel/slab/sighand_cache 42 in /sys/kernel/slab/task_struct 42 in /sys/kernel/slab/uid_cache 46 in /sys/kernel/slab/blkdev_ioc 51 in /sys/kernel/slab/ext4_free_block_extents 51 in /sys/kernel/slab/ip_fib_hash 51 in /sys/kernel/slab/sd_ext_cdb -64 in /sys/kernel/slab/cred_jar 64 in /sys/kernel/slab/jbd2_journal_handle 64 in /sys/kernel/slab/jbd2_revoke_record 64 in /sys/kernel/slab/pid +65 in /sys/kernel/slab/cred_jar 68 in /sys/kernel/slab/kmalloc-128 73 in /sys/kernel/slab/jbd2_revoke_table -82 in /sys/kernel/slab/kmalloc-1024 +81 in /sys/kernel/slab/kmalloc-1024 87 in /sys/kernel/slab/kmalloc-512 102 in /sys/kernel/slab/kmalloc-192 128 in /sys/kernel/slab/kmemleak_scan_area 142 in /sys/kernel/slab/kmalloc-256 147 in /sys/kernel/slab/idr_layer_cache 152 in /sys/kernel/slab/proc_inode_cache -154 in /sys/kernel/slab/filp +161 in /sys/kernel/slab/filp 203 in /sys/kernel/slab/anon_vma 265 in /sys/kernel/slab/shmem_inode_cache 334 in /sys/kernel/slab/kmalloc-96 400 in /sys/kernel/slab/kmalloc-32 -460 in /sys/kernel/slab/vm_area_struct -503 in /sys/kernel/slab/radix_tree_node +453 in /sys/kernel/slab/vm_area_struct 513 in /sys/kernel/slab/kmalloc-8192 -515 in /sys/kernel/slab/skbuff_head_cache +513 in /sys/kernel/slab/skbuff_head_cache +517 in /sys/kernel/slab/radix_tree_node 546 in /sys/kernel/slab/inode_cache 767 in /sys/kernel/slab/kmalloc-16 -795 in /sys/kernel/slab/ext4_inode_cache +825 in /sys/kernel/slab/ext4_inode_cache 1019 in /sys/kernel/slab/kmalloc-8 -2088 in /sys/kernel/slab/buffer_head -2916 in /sys/kernel/slab/dentry +2225 in /sys/kernel/slab/buffer_head +2967 in /sys/kernel/slab/dentry 7088 in /sys/kernel/slab/sysfs_dir_cache -56194 in /sys/kernel/slab/kmalloc-64 -75769 in /sys/kernel/slab/kmemleak_object +113649 in /sys/kernel/slab/kmalloc-64 +133459 in /sys/kernel/slab/kmemleak_object ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-12 22:18 ` Matteo Croce @ 2009-11-13 7:31 ` Johannes Berg 2009-11-13 8:55 ` Lorenzo Bianconi 0 siblings, 1 reply; 23+ messages in thread From: Johannes Berg @ 2009-11-13 7:31 UTC (permalink / raw) To: Matteo Croce Cc: Luis R. Rodriguez, Lorenzo Bianconi, linux-wireless@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 194 bytes --] On Thu, 2009-11-12 at 23:18 +0100, Matteo Croce wrote: > kmalloc-64 is definitely getting fat Is it the same with ath5k? I don't see any allocations like that in mac80211. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-13 7:31 ` Johannes Berg @ 2009-11-13 8:55 ` Lorenzo Bianconi 2009-11-13 12:20 ` Matteo Croce [not found] ` <0015174c1d0a8aa23304783ef2ae@google.com> 0 siblings, 2 replies; 23+ messages in thread From: Lorenzo Bianconi @ 2009-11-13 8:55 UTC (permalink / raw) To: Johannes Berg; +Cc: rodriguez, technoboy85, linux-wireless 2009/11/13 Johannes Berg <johannes@sipsolutions.net>: > On Thu, 2009-11-12 at 23:18 +0100, Matteo Croce wrote: > >> kmalloc-64 is definitely getting fat > > Is it the same with ath5k? > > I don't see any allocations like that in mac80211. > > johannes > Yes, I tested ath5k/mac80211 and ath9k/mac80211 and both show the same problem whereas madwifi/net80211, tested with the same module, has not memory leak. Lorenzo ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-13 8:55 ` Lorenzo Bianconi @ 2009-11-13 12:20 ` Matteo Croce 2009-11-14 2:13 ` Luis R. Rodriguez [not found] ` <0015174c1d0a8aa23304783ef2ae@google.com> 1 sibling, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-13 12:20 UTC (permalink / raw) To: Lorenzo Bianconi; +Cc: Johannes Berg, rodriguez, linux-wireless On Fri, Nov 13, 2009 at 12:27 PM, <Lorenzo.Bianconi83@gmail.com> wrote: > Il giorno , Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> ha scritto: >> 2009/11/13 Johannes Berg johannes@sipsolutions.net>: >> Yes, I tested ath5k/mac80211 and ath9k/mac80211 and both show the same >> problem >> >> whereas madwifi/net80211, tested with the same module, has not memory >> leak. >> > > Hi all, > > I found a way to stop the mem leak. In the ath_tx_complete() function I have > noticed that the struct tx_info_priv is not freed. I have made the following > changes and now the memory remains stable. I do not know if this is the > right place to put the kfree(tx_info_priv), however this seems to solve the > issue. > > Cheers, > > Lorenzo > > @@ -1825,9 +1825,10 @@ > SC_OP_WAIT_FOR_TX_ACK)); > } > > - if (frame_type == ATH9K_NOT_INTERNAL) > + if (frame_type == ATH9K_NOT_INTERNAL) { > ieee80211_tx_status(hw, skb); > - else > + kfree(tx_info_priv); > + } else > ath9k_tx_status(hw, skb); > } That's great. I'll try the fix with ath5k too ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-13 12:20 ` Matteo Croce @ 2009-11-14 2:13 ` Luis R. Rodriguez 2009-11-16 15:08 ` Matteo Croce 0 siblings, 1 reply; 23+ messages in thread From: Luis R. Rodriguez @ 2009-11-14 2:13 UTC (permalink / raw) To: Matteo Croce; +Cc: Lorenzo Bianconi, Johannes Berg, rodriguez, linux-wireless On Fri, Nov 13, 2009 at 4:20 AM, Matteo Croce <technoboy85@gmail.com> wrote: > On Fri, Nov 13, 2009 at 12:27 PM, <Lorenzo.Bianconi83@gmail.com> wrote: >> Il giorno , Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> ha scritto: >>> 2009/11/13 Johannes Berg johannes@sipsolutions.net>: >>> Yes, I tested ath5k/mac80211 and ath9k/mac80211 and both show the same >>> problem >>> >>> whereas madwifi/net80211, tested with the same module, has not memory >>> leak. >>> >> >> Hi all, >> >> I found a way to stop the mem leak. In the ath_tx_complete() function I have >> noticed that the struct tx_info_priv is not freed. I have made the following >> changes and now the memory remains stable. I do not know if this is the >> right place to put the kfree(tx_info_priv), however this seems to solve the >> issue. >> >> Cheers, >> >> Lorenzo >> >> @@ -1825,9 +1825,10 @@ >> SC_OP_WAIT_FOR_TX_ACK)); >> } >> >> - if (frame_type == ATH9K_NOT_INTERNAL) >> + if (frame_type == ATH9K_NOT_INTERNAL) { >> ieee80211_tx_status(hw, skb); >> - else >> + kfree(tx_info_priv); >> + } else >> ath9k_tx_status(hw, skb); >> } > > That's great. I'll try the fix with ath5k too Can you guys try Felix's RFC patches ? It removes this completely. Luis ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-14 2:13 ` Luis R. Rodriguez @ 2009-11-16 15:08 ` Matteo Croce 0 siblings, 0 replies; 23+ messages in thread From: Matteo Croce @ 2009-11-16 15:08 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Lorenzo Bianconi, Johannes Berg, rodriguez, linux-wireless On Sat, Nov 14, 2009 at 3:13 AM, Luis R. Rodriguez <mcgrof@gmail.com> wrote: > On Fri, Nov 13, 2009 at 4:20 AM, Matteo Croce <technoboy85@gmail.com> wrote: >> On Fri, Nov 13, 2009 at 12:27 PM, <Lorenzo.Bianconi83@gmail.com> wrote: >>> Il giorno , Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> ha scritto: >>>> 2009/11/13 Johannes Berg johannes@sipsolutions.net>: >>>> Yes, I tested ath5k/mac80211 and ath9k/mac80211 and both show the same >>>> problem >>>> >>>> whereas madwifi/net80211, tested with the same module, has not memory >>>> leak. >>>> >>> >>> Hi all, >>> >>> I found a way to stop the mem leak. In the ath_tx_complete() function I have >>> noticed that the struct tx_info_priv is not freed. I have made the following >>> changes and now the memory remains stable. I do not know if this is the >>> right place to put the kfree(tx_info_priv), however this seems to solve the >>> issue. >>> >>> Cheers, >>> >>> Lorenzo >>> >>> @@ -1825,9 +1825,10 @@ >>> SC_OP_WAIT_FOR_TX_ACK)); >>> } >>> >>> - if (frame_type == ATH9K_NOT_INTERNAL) >>> + if (frame_type == ATH9K_NOT_INTERNAL) { >>> ieee80211_tx_status(hw, skb); >>> - else >>> + kfree(tx_info_priv); >>> + } else >>> ath9k_tx_status(hw, skb); >>> } >> >> That's great. I'll try the fix with ath5k too > > Can you guys try Felix's RFC patches ? It removes this completely. > > Luis > Yes they fix the leak ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <0015174c1d0a8aa23304783ef2ae@google.com>]
* Re: R:Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection [not found] ` <0015174c1d0a8aa23304783ef2ae@google.com> @ 2009-11-13 14:42 ` Matteo Croce 2009-11-13 14:47 ` Johannes Berg 0 siblings, 1 reply; 23+ messages in thread From: Matteo Croce @ 2009-11-13 14:42 UTC (permalink / raw) To: Lorenzo.Bianconi83; +Cc: Johannes Berg, linux-wireless, alessandro.erta On Fri, Nov 13, 2009 at 12:27 PM, <Lorenzo.Bianconi83@gmail.com> wrote: > Il giorno , Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> ha scritto: >> 2009/11/13 Johannes Berg johannes@sipsolutions.net>: >> Yes, I tested ath5k/mac80211 and ath9k/mac80211 and both show the same >> problem >> >> whereas madwifi/net80211, tested with the same module, has not memory >> leak. >> > > Hi all, > > I found a way to stop the mem leak. In the ath_tx_complete() function I have > noticed that the struct tx_info_priv is not freed. I have made the following > changes and now the memory remains stable. I do not know if this is the > right place to put the kfree(tx_info_priv), however this seems to solve the > issue. > > Cheers, > > Lorenzo > > @@ -1825,9 +1825,10 @@ > SC_OP_WAIT_FOR_TX_ACK)); > } > > - if (frame_type == ATH9K_NOT_INTERNAL) > + if (frame_type == ATH9K_NOT_INTERNAL) { > ieee80211_tx_status(hw, skb); > - else > + kfree(tx_info_priv); > + } else > ath9k_tx_status(hw, skb); > } What about adding that line in ieee80211_tx_status() instead of ath_tx_complete()? That will hopefully fix other drivers too. I haven't a broadcom card to test b43 with ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: R:Re: [ath9k-devel] Possible memory leak in ath9k monitor mode injection 2009-11-13 14:42 ` R:Re: " Matteo Croce @ 2009-11-13 14:47 ` Johannes Berg 0 siblings, 0 replies; 23+ messages in thread From: Johannes Berg @ 2009-11-13 14:47 UTC (permalink / raw) To: Matteo Croce; +Cc: Lorenzo.Bianconi83, linux-wireless, alessandro.erta [-- Attachment #1: Type: text/plain, Size: 566 bytes --] On Fri, 2009-11-13 at 15:42 +0100, Matteo Croce wrote: > > - if (frame_type == ATH9K_NOT_INTERNAL) > > + if (frame_type == ATH9K_NOT_INTERNAL) { > > ieee80211_tx_status(hw, skb); > > - else > > + kfree(tx_info_priv); > > + } else > > ath9k_tx_status(hw, skb); > > } > > What about adding that line in ieee80211_tx_status() instead of > ath_tx_complete()? > That will hopefully fix other drivers too. Umm, no, this is an atheros-ism that ought to be removed anyway, but it's not possible this particular problem affects other drivers. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2009-11-16 15:10 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-12 11:31 Possible memory leak in ath9k monitor mode injection Lorenzo Bianconi
2009-11-12 14:18 ` Matteo Croce
2009-11-12 15:44 ` [ath9k-devel] " Luis R. Rodriguez
2009-11-12 15:49 ` Luis R. Rodriguez
2009-11-12 19:18 ` Matteo Croce
2009-11-12 19:31 ` Johannes Berg
2009-11-12 19:35 ` Luis R. Rodriguez
2009-11-12 19:36 ` Luis R. Rodriguez
2009-11-12 22:16 ` Matteo Croce
2009-11-12 22:28 ` Luis R. Rodriguez
2009-11-12 22:37 ` Matteo Croce
2009-11-12 22:58 ` Lorenzo Bianconi
2009-11-12 23:04 ` Matteo Croce
2009-11-13 7:06 ` Johannes Berg
2009-11-12 22:08 ` Matteo Croce
2009-11-12 22:18 ` Matteo Croce
2009-11-13 7:31 ` Johannes Berg
2009-11-13 8:55 ` Lorenzo Bianconi
2009-11-13 12:20 ` Matteo Croce
2009-11-14 2:13 ` Luis R. Rodriguez
2009-11-16 15:08 ` Matteo Croce
[not found] ` <0015174c1d0a8aa23304783ef2ae@google.com>
2009-11-13 14:42 ` R:Re: " Matteo Croce
2009-11-13 14:47 ` Johannes Berg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).