From: Ingo Molnar <mingo@elte.hu>
To: Catalin Marinas <catalin.marinas@gmail.com>
Cc: Andi Kleen <ak@suse.de>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.17-rc4 1/6] Base support for kmemleak
Date: Fri, 26 May 2006 19:47:23 +0200 [thread overview]
Message-ID: <20060526174723.GD30208@elte.hu> (raw)
In-Reply-To: <b0943d9e0605260937j5a86d4dr4adcae6fc35c73fa@mail.gmail.com>
* Catalin Marinas <catalin.marinas@gmail.com> wrote:
> A problem I'm facing (also because I'm not familiar with the other
> architectures) is detecting the effective stack boundaries of the
> threads running or waiting in kernel mode. Scanning the whole stack
> (8K) hides some possible leaks (because of no longer used local
> variables) and not scanning the list at all can lead to false
> positives. I would need to investigate this a bit more.
i was thinking about this too, and i wanted to suggest a different
solution here: you could build a list of "temporary" objects that only
get registered with the memleak proper once a thread exits a system call
(or once a kernel thread goes back to its main loop). This means a
(lightweight) callback in the syscall exit (or irq exit) path. This way
you'd not have to scan kernel stacks at all, only .data and the objects
themselves.
the stack boundary rules can be quite complex: for example on x86_64 you
can have a pretty complex nesting of exception, interrupt and process
stacks. In fact on SMP we dont even know the precise stack boundary for
tasks that are running on some other CPU. [because we have no snapshot
of their register state]
avoiding the scanning of the kernel stacks gets rid of some of the
biggest source of natural entropy. (they contain strings and all sorts
of other binary data that could accidentally match up with a kernel
pointer)
Ingo
next prev parent reply other threads:[~2006-05-26 17:47 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-13 15:57 [RFC PATCH 2.6.17-rc4 0/6] Kernel memory leak detector Catalin Marinas
2006-05-13 16:05 ` [PATCH 2.6.17-rc4 1/6] Base support for kmemleak Catalin Marinas
2006-05-13 17:42 ` Jesper Juhl
2006-05-13 17:47 ` Roland Dreier
2006-05-14 7:24 ` Catalin Marinas
2006-05-14 17:32 ` Ingo Oeser
2006-05-15 10:15 ` Catalin Marinas
2006-05-13 18:11 ` Paul Jackson
2006-05-13 23:20 ` Andi Kleen
2006-05-14 8:19 ` Catalin Marinas
2006-05-15 9:15 ` Andi Kleen
2006-05-15 10:09 ` Catalin Marinas
2006-05-26 8:59 ` Ingo Molnar
2006-05-26 9:39 ` Andi Kleen
2006-05-26 11:31 ` Ingo Molnar
2006-05-26 16:37 ` Catalin Marinas
2006-05-26 17:47 ` Ingo Molnar [this message]
2006-05-26 21:49 ` Catalin Marinas
2006-05-26 22:01 ` Catalin Marinas
2006-05-14 14:53 ` Pekka Enberg
2006-05-14 15:30 ` Catalin Marinas
2006-05-14 15:52 ` Catalin Marinas
2006-05-13 16:05 ` [PATCH 2.6.17-rc4 2/6] Some documentation " Catalin Marinas
2006-05-13 16:06 ` [PATCH 2.6.17-rc4 3/6] Add the memory allocation/freeing hooks " Catalin Marinas
2006-05-14 14:49 ` Pekka Enberg
2006-05-13 16:06 ` [PATCH 2.6.17-rc4 4/6] Add kmemleak support for i386 Catalin Marinas
2006-05-13 18:24 ` Jesper Juhl
2006-05-13 21:20 ` Jan Engelhardt
2006-05-14 7:28 ` Catalin Marinas
2006-05-13 16:06 ` [PATCH 2.6.17-rc4 5/6] Add kmemleak support for ARM Catalin Marinas
2006-05-13 18:25 ` Jesper Juhl
2006-05-13 16:06 ` [PATCH 2.6.17-rc4 6/6] Remove some of the kmemleak false positives Catalin Marinas
2006-05-13 19:21 ` Jesper Juhl
2006-05-14 7:31 ` Catalin Marinas
2006-05-14 14:55 ` Pekka Enberg
2006-05-14 15:39 ` Catalin Marinas
2006-05-14 17:39 ` Ingo Oeser
2006-05-15 10:12 ` Catalin Marinas
2006-05-15 18:32 ` Ingo Oeser
2006-05-15 11:52 ` Avi Kivity
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=20060526174723.GD30208@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=catalin.marinas@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.