mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Pekka Enberg" <penberg@cs.helsinki.fi>
To: "Catalin Marinas" <catalin.marinas@gmail.com>
Cc: "Ingo Molnar" <mingo@elte.hu>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives
Date: Tue, 13 Jun 2006 13:04:26 +0300	[thread overview]
Message-ID: <84144f020606130304s7420c642wababc4ce40edbcec@mail.gmail.com> (raw)
In-Reply-To: <b0943d9e0606130245me8ff210h672a8c3360ad6944@mail.gmail.com>

On 13/06/06, Pekka J Enberg <penberg@cs.helsinki.fi> wrote:
> > As far as I understood, Ingo is worried about:
> >
> >         struct s { /* some fields */; char *buf; };
> >
> >         struct s *p = kmalloc(sizeof(struct s) + BUF_SIZE);
> >         p->buf = p + sizeof(struct s);
> >
> > Which could lead to false negative due to p->buf pointing to p.  However,
> > for us to even _find_ p->buf, we would need an incoming pointer _to_ p
> > which makes me think this is not a problem in practice.  Hmm?

On 6/13/06, Catalin Marinas <catalin.marinas@gmail.com> wrote:
> Not exactly. In the above case, Ingo (and me) is worried about having
> a incoming pointer (from other block) equal to p->buf and therefore
> inside the block allocated with kmalloc.

Ah, right, I overlooked that case. But, is it really a leak? That is,
even though we currently don't have a pointer to the beginning fo the
block, we don't know for sure it was a leak. You're now allowed to do:

    p = kmalloc(...);
    p = p + HDR_SIZE;

    /* ... */

    kfree(p - HDR_SIZE);

Do you think we should ban the above?

                                     Pekka

  reply	other threads:[~2006-06-13 10:04 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-11 11:18 [PATCH 2.6.17-rc6 0/9] Kernel memory leak detector 0.7 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 1/9] Base support for kmemleak Catalin Marinas
2006-06-13 11:14   ` Pekka Enberg
2006-06-13 12:47     ` Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 2/9] Some documentation " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 3/9] Add the memory allocation/freeing hooks " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 4/9] Modules support " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 5/9] Add kmemleak support for i386 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 6/9] Add kmemleak support for ARM Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives Catalin Marinas
2006-06-12  5:19   ` Pekka Enberg
2006-06-12  8:11     ` Catalin Marinas
2006-06-12  8:17       ` Pekka J Enberg
2006-06-12  8:43         ` Catalin Marinas
2006-06-12 10:53         ` Ingo Molnar
2006-06-12 11:08           ` Pekka J Enberg
2006-06-12 11:36             ` Ingo Molnar
2006-06-12 11:56               ` Pekka J Enberg
2006-06-12 12:53                 ` Catalin Marinas
2006-06-12 13:12                 ` Ingo Molnar
2006-06-12 14:38                   ` Catalin Marinas
2006-06-12 22:29                   ` Catalin Marinas
2006-06-12 12:56           ` Catalin Marinas
2006-06-12 19:22             ` Ingo Molnar
2006-06-12 22:24               ` Catalin Marinas
2006-06-13  5:53               ` Pekka J Enberg
2006-06-13  6:59                 ` Catalin Marinas
2006-06-13  7:57                   ` Pekka J Enberg
2006-06-13  9:45                     ` Catalin Marinas
2006-06-13 10:04                       ` Pekka Enberg [this message]
2006-06-13 10:37                         ` Catalin Marinas
2006-06-13  7:26                 ` Ingo Molnar
2006-06-13  8:11                   ` Pekka J Enberg
2006-06-13 10:49                   ` Catalin Marinas
2006-06-14  4:07                     ` Ingo Molnar
2006-06-14  5:46                       ` Andi Kleen
2006-06-14  5:53                       ` Jeremy Fitzhardinge
2006-06-14 12:03                         ` Ingo Molnar
2006-06-14 13:46                           ` Catalin Marinas
2006-06-14 13:35                         ` Catalin Marinas
2006-06-14 13:21                       ` Catalin Marinas
2006-06-12  9:17       ` Peter Zijlstra
2006-06-12  9:35         ` Catalin Marinas
2006-06-24 10:20     ` Catalin Marinas
2006-06-24 10:22       ` Ingo Molnar
2006-06-24 10:55         ` Catalin Marinas
2006-07-24 11:15         ` Ingo Molnar
2006-07-24 13:28           ` Catalin Marinas
2006-08-03  6:32             ` Jakub Jelinek
2006-08-03  8:31               ` Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 8/9] Simple testing for kmemleak Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 9/9] Keep the __init functions after initialization Catalin Marinas

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=84144f020606130304s7420c642wababc4ce40edbcec@mail.gmail.com \
    --to=penberg@cs.helsinki.fi \
    --cc=catalin.marinas@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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

all inboxes | Powered by JetHome®