Re: memory leak related to bridging, conntrack and frags in 2.6.0

Andy Loukes <[email protected]>
Newsgroups gmane.linux.network.bridge.ebtables.devel
Message-ID <[email protected]>
Just discovered that there is actually an ebtables-devel mailing list and
haven't found anything in the archives, so I thought I ought to take this
straight to the horses mouth!

Does anyone have any suggestion on where the problem might be?

It seems to be in the refrag code.

-- 
Andy Loukes
http://www.navaho.co.uk				Complete Appliance Technology

---------- Forwarded message ----------
Date: Fri, 12 Dec 2003 10:10:33 +0000 (GMT)
From: Andy Loukes <[email protected]>
To: netfilter-devel-wool9L35kiczKOhml7GhPkB+6BGkLq7r@public.gmane.org
Subject: memory leak related to bridging, conntrack and frags in 2.6.0

2.6.0-test11-bk8
eepro100 driver

I'm getting a major memory leak across a bridge. It goes away if I remove 
the conntrack module or I use packets < MTU.

vWith this:
ttcp -tus 172.16.0.12 -n 25000 -b 5000
(25000 x 5000 byte udp packets)

I see size-64 in slabinfo go up by 8472kB

Some colleagues and I are trying to figure out where the problem is but I 
thought I'd post to see if anyone has any debugging tips (we are just 
starting to get our heads round NF!) or whether this is a known problem.

regds,

-- 
Andy Loukes
http://www.navaho.co.uk				Complete Appliance Technology





---------- Forwarded message ----------
Date: Fri, 12 Dec 2003 16:11:38 +0000 (GMT)
From: Steve Hill <[email protected]>
To: Harald Welte <laforge-Cap9r6Oaw4JrovVCs/[email protected]>
Cc: Andy Loukes <[email protected]>
Subject: Re: memory leak related to bridging, conntrack and frags in 2.6.0

On Fri, 12 Dec 2003, Harald Welte wrote:

> are you sure it's a memory leak?  Please explain why.  Which number in
> /proc/slabinfo are you looking at?  And did you confirm that this is not
> just some cache that expires after some time?

I am looking into this too - size-64 is increasing (and keeps increasing 
until the box dies after it's filled all 128MB of RAM).

The memory that is leaking seems to be allocated on line 299 on 
net/bridge/br_netfilter.c:
  
        if ((nf_bridge = nf_bridge_alloc(skb)) == NULL)
                return NF_DROP;
  
Only the first fragment gets freed later on, all the other fragments seem 
to get leaked during defragmentation.  (I'm not an expert on netfilter, 
but I presume that the defrag routines defragment the packet and puts it 
in the first skb, leaving the skbs for the other packets needing to be 
freed?)

-- 

- Steve Hill
Senior Software Developer                        Email: [email protected]
Navaho Technologies Ltd.                           Tel: +44-870-7034015

        ... Alcohol and calculus don't mix - Don't drink and derive! ...







-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.