linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ilya Dryomov <idryomov@gmail.com>
To: Chris Samuel <chris@csamuel.org>
Cc: linux-btrfs@vger.kernel.org, Chris Mason <chris.mason@oracle.com>
Subject: Re: cppcheck and btrfs
Date: Tue, 15 Mar 2011 00:24:34 +0200	[thread overview]
Message-ID: <20110314222434.GA13960@kwango.lan.net> (raw)
In-Reply-To: <201103150732.18300.chris@csamuel.org>

On Tue, Mar 15, 2011 at 07:32:13AM +1100, Chris Samuel wrote:
> Hi Chris, et. al,
> 
> I've recently come across cppcheck (static analyser for C code)
> and ran it on the current btrfs directory from Linus's repo and
> it's reported the following potential issues:
> 
> linux-2.6$ cppcheck -q fs/btrfs/
> [fs/btrfs/compression.c:343]: (error) Data is allocated but not initialized: 
> cb
> [fs/btrfs/compression.c:583]: (error) Data is allocated but not initialized: 
> cb
> [fs/btrfs/delayed-ref.c:649]: (error) Data is allocated but not initialized: 
> ref
> [fs/btrfs/delayed-ref.c:694]: (error) Data is allocated but not initialized: 
> ref
> [fs/btrfs/extent-tree.c:5766]: (error) Data is allocated but not initialized: 
> extent_op
> [fs/btrfs/extent-tree.c:5768]: (error) Data is allocated but not initialized: 
> extent_op
> [fs/btrfs/transaction.c:1161]: (error) Data is allocated but not initialized: 
> ac

All of these seems to be warnings cautioning about passing a pointer to
an uninitialized area of memory to some function.  But in most cases
it's an accepted convention, where the called function unconditionally
initializes that memory area, before using it, so it's OK.

> [fs/btrfs/volumes.c:1387]: (error) Possible null pointer dereference: 
> fs_devices

This one is very unlikely, however I doubt a lot of people tested Btrfs
seeding functionality, so it's probably the only one worth looking at.

> [fs/btrfs/volumes.c:3636]: (error) Memory leak: device

This one is bogus, device struct is linked via fs_devices->devices list.

> Now I'm not really a programmer (much less a kernel one) but I
> do see people using it discover issues in kernel code.
> 
> Are these issues real or bugs in cppcheck ?
> 
> cheers!
> Chris
> -- 
>  Chris Samuel  :  http://www.csamuel.org/  :  Melbourne, VIC
> 
> This email may come with a PGP signature as a file. Do not panic.
> For more info see: http://en.wikipedia.org/wiki/OpenPGP

Thanks,

		Ilya

      reply	other threads:[~2011-03-14 22:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-14 20:32 cppcheck and btrfs Chris Samuel
2011-03-14 22:24 ` Ilya Dryomov [this message]

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=20110314222434.GA13960@kwango.lan.net \
    --to=idryomov@gmail.com \
    --cc=chris.mason@oracle.com \
    --cc=chris@csamuel.org \
    --cc=linux-btrfs@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 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).