All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Oleg Drokin <green@linuxhacker.ru>
Cc: smatch@vger.kernel.org
Subject: Re: alloc_page leaks tracing
Date: Tue, 22 Mar 2022 11:05:13 +0300	[thread overview]
Message-ID: <20220322080513.GS336@kadam> (raw)
In-Reply-To: <20220311211215.GN3315@kadam>

I've pushed some changes to the check_unwind.c script so now the results
say which function allocated it.

I still haven't added the alloc_pages() and related functions to the
function table.  I need to do that.  I'm also still thinking about the
correct solution to the return_implies_param_key_exact() problem.  I
guess on my system, I just hardcoded the return values.  There is no
harm in pushing that so let me do that.

There are bunch of common false positives like:
1) put_device() frees the page.  I've been sort of working towards
   making put_device() handled in the correct way where we figure out
   what function it calls and parse the container_of() correctly and
   then it's all handled transparently by the check_kernel.c.  But for
   now probably the right thing is to add a special case to
   check_unwind.c.
2) Arrays.  Again, probably add a special case in check_unwind.c
3) Direct calls to a function which frees pointers from container_of().
   Eventually this will work correctly.  Another option for this would
   be to do what check_locking does and just record whenever a function
   frees something and then in the caller try to guess which resource
   it was based on the name.

So there is quite a bit of work which can be done still.

regards,
dan carpenter

  reply	other threads:[~2022-03-22  8:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-08 17:28 alloc_page leaks tracing Oleg Drokin
2022-03-10  9:42 ` Dan Carpenter
     [not found]   ` <82B7079C-AD17-4E5E-A245-71E9ED53E5A3@linuxhacker.ru>
2022-03-11 21:12     ` Dan Carpenter
2022-03-22  8:05       ` Dan Carpenter [this message]
2022-03-25  6:48         ` Dan Carpenter

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=20220322080513.GS336@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=green@linuxhacker.ru \
    --cc=smatch@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.