From: Michael Opdenacker <michael.opdenacker@free-electrons.com>
To: "Elliott, Robert (Server Storage)" <Elliott@hp.com>,
Joe Perches <joe@perches.com>
Cc: Hannes Reinecke <hare@suse.de>,
"JBottomley@parallels.com" <JBottomley@parallels.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] [RESEND] aic7xxx: replace kmalloc/memset by kzalloc
Date: Thu, 26 Mar 2015 17:38:17 -0700 [thread overview]
Message-ID: <5514A679.5030005@free-electrons.com> (raw)
In-Reply-To: <94D0CD8314A33A4D9D801C0FE68B40295A8416C5@G9W0745.americas.hpqcorp.net>
On 03/24/2015 04:16 PM, Elliott, Robert (Server Storage) wrote:
>
> It was a reply to the original post on 2014-10-16, not the resend
> this month.
>
> From http://permalink.gmane.org/gmane.linux.kernel/1808168:
>
> kcalloc is helpful when one of the values is a variable that
> might cause the multiply to overflow during runtime. Here,
> two constants are being multiplied together, which can
> be done and checked by the compiler at compile time.
>
> Since kcalloc and kmalloc_array are both static inline
> functions:
> static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags)
> {
> if (size != 0 && n > SIZE_MAX / size)
> return NULL;
> return __kmalloc(n * size, flags);
> }
> static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
> {
> return kmalloc_array(n, size, flags | __GFP_ZERO);
> }
>
> a compiler that detects an overflow will probably just reduce
> that to an inlined "return NULL."
>
> BUILD_BUG_ON could be used to trigger a compile-time error,
> instead of building a kernel that returns a run-time error.
Ok, I hope we agree to get back to kzalloc() for which the compiler
won't miss size_t overflows.
Thanks for the reviews!
Michael.
--
Michael Opdenacker, CEO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
+33 484 258 098
next prev parent reply other threads:[~2015-03-27 0:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-16 19:14 [PATCH] aic7xxx: replace kmalloc/memset by kzalloc Michael Opdenacker
2014-10-16 19:28 ` Joe Perches
2014-10-16 19:30 ` Michael Opdenacker
2014-10-16 20:05 ` Elliott, Robert (Server Storage)
2015-03-22 16:31 ` [PATCH] [RESEND] " Michael Opdenacker
2015-03-23 6:59 ` Hannes Reinecke
2015-03-24 20:46 ` Michael Opdenacker
2015-03-24 20:57 ` Joe Perches
2015-03-24 23:16 ` Elliott, Robert (Server Storage)
2015-03-27 0:38 ` Michael Opdenacker [this message]
2015-03-27 0:51 ` Michael Opdenacker
2015-03-27 19:48 ` kcalloc/kmalloc_array could BUILD_BUG_ON for too-big constant arguments (was Re: [PATCH] [RESEND] aic7xxx: replace kmalloc/memset by kzalloc) Jeff Epler
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=5514A679.5030005@free-electrons.com \
--to=michael.opdenacker@free-electrons.com \
--cc=Elliott@hp.com \
--cc=JBottomley@parallels.com \
--cc=hare@suse.de \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@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.