linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Kristian Sørensen" <ks@cs.aau.dk>
To: root@chaos.analogic.com
Cc: andre@tomt.net, Kasper Sandberg <lkml@metanurb.dk>,
	LKML Mailinglist <linux-kernel@vger.kernel.org>,
	umbrella@cs.aau.dk
Subject: Re: Gigantic memory leak in linux-2.6.[789]!
Date: Fri, 22 Oct 2004 21:24:25 +0200	[thread overview]
Message-ID: <41795E69.9090909@cs.aau.dk> (raw)
In-Reply-To: <Pine.LNX.4.61.0410221208230.17016@chaos.analogic.com>

Richard B. Johnson wrote:

> On Fri, 22 Oct 2004, [ISO-8859-15] Kristian Sørensen wrote:
>
>> Richard B. Johnson wrote:
>>
>>> On Fri, 22 Oct 2004, Kasper Sandberg wrote:
>>>
>>>> On Fri, 2004-10-22 at 16:13 +0200, Kristian Sørensen wrote:
>>>>
>>>>> Hi all!
>>>>>
>>>>> After some more testing after the previous post of the OOPS in
>>>>> generic_delete_inode, we have now found a gigantic memory leak in 
>>>>> Linux 2.6.
>>>>> [789]. The scenario is the same:
>>>>>
>>>>> File system: EXT3
>>>>> Unpack and delete linux-2.6.8.1.tar.bz2 with this Bash while loop:
>>>>>
>>>>> let "i = 0"
>>>>> while [ "$i" -lt 10 ]; do
>>>>>    tar jxf linux-2.6.8.1.tar.bz2;
>>>>>    rm -fr linux-2.6.8.1;
>>>>>    let "i = i + 1"
>>>>> done
>>>>>
>>>>> When the loop has completed, the system use 124 MB memory more 
>>>>> _each_ time....
>>>>> so it is pretty easy to make a denial-of-service attack :-(
>>>>
>>>
>>>
>>>
>>> Do something like this with your favorite kernel version.....
>>>
>>> while true ; do tar -xzf linux-2.6.9.tar.gz ; rm -rf linux-2.6.9 ; 
>>> vmstat ; done
>>>
>>> You can watch this for as long as you want. If there is no other
>>> activity, the values reported by vmstat remain, on the average, stable.
>>> If you throw in a `sync` command, the values rapidly converge to
>>> little memory usage as the disk-data gets flused to disk.
>>
>> The problem is, that the free memory reported by vmstat is decresing 
>> by 124mb for each 10-iterations....
>>
>> The allocated memory does not get freed even if the system has been 
>> left alone for three hours!
>>
>
> Yes. So?  Why would it be freed? It's left how it was until it
> is needed. Freeing it would waste CPU cycles.

Okay :-) So it looks like two of you says we have been mistaken :-D (and 
the behaviour has been changed since linux-2.4)

Anyway - How does this work in practice? Does the file system 
implementation use a wrapper for kfree or?
Is there any way to force instant free of kernel memory - when freed? 
Else it is quite hard testing for possible memory leaks in our Umbrella 
kernel module ... :-/


Best regards,

-- 
Kristian Sørensen
- The Umbrella Project
  http://umbrella.sourceforge.net

E-mail: ipqw@users.sf.net, Phone: +45 29723816



  reply	other threads:[~2004-10-22 19:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-22 14:13 Gigantic memory leak in linux-2.6.[789]! Kristian Sørensen
2004-10-22 14:32 ` Kasper Sandberg
2004-10-22 15:07   ` Richard B. Johnson
2004-10-22 15:50     ` Kristian Sørensen
2004-10-22 16:12       ` Richard B. Johnson
2004-10-22 19:24         ` Kristian Sørensen [this message]
2004-10-22 19:20           ` Richard B. Johnson
2004-10-22 19:33           ` Chris Friesen
2004-10-22 16:15     ` Gene Heskett
2004-10-22 16:28       ` Andre Tomt
2004-10-22 16:32       ` Chris Friesen
2004-10-23  0:51 ` David Lang
2004-10-24 14:14   ` Bill Davidsen
2004-10-24 16:04     ` Tommy Reynolds
2004-10-25 22:11       ` Bill Davidsen
2004-10-25 22:47     ` David Lang
2004-10-23  1:44 ` Bernd Eckenfels

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41795E69.9090909@cs.aau.dk \
    --to=ks@cs.aau.dk \
    --cc=andre@tomt.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@metanurb.dk \
    --cc=root@chaos.analogic.com \
    --cc=umbrella@cs.aau.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).