From: Andrew Morton <akpm@linux-foundation.org>
To: bbpetkov@yahoo.de
Cc: Andy Whitcroft <apw@shadowen.org>,
linux-kernel@vger.kernel.org,
Jeremy Fitzhardinge <jeremy@xensource.com>
Subject: Re: [PATCH] mm/memory.c: remove warning from an uninitialized spinlock. was: Re: 2.6.21-rc7-mm2
Date: Sun, 29 Apr 2007 02:24:40 -0700 [thread overview]
Message-ID: <20070429022440.cb8fc8c4.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070429065049.GB4446@gollum.tnic>
On Sun, 29 Apr 2007 08:50:49 +0200 Borislav Petkov <bbpetkov@yahoo.de> wrote:
> Introduce a macro for suppressing gcc from generating a warning about a probable
> unitialized state of a variable.
I ended up doing the below.
It's better to make this a per-compiler-version thing: later versions of
gcc might need different tricks, or might provide __attribute__((stfu)) or
whatever.
Plus I don't know if the x=x trick is needed on the intel compiler, nor if
it even works, so I left ICC alone.
From: Borislav Petkov <bbpetkov@yahoo.de>
Introduce a macro for suppressing gcc from generating a warning about a
probable uninitialized state of a variable.
Example:
- spinlock_t *ptl;
+ spinlock_t *uninitialized_var(ptl);
Not a happy solution, but those warnings are obnoxious.
- Using the usual pointlessly-set-it-to-zero approach wastes several
bytes of text.
- Using a macro means we can (hopefully) do something else if gcc changes
cause the `x = x' hack to stop working
- Using a macro means that people who are worried about hiding true bugs
can easily turn it off.
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/compiler-gcc3.h | 6 ++++++
include/linux/compiler-gcc4.h | 6 ++++++
include/linux/compiler-intel.h | 2 ++
3 files changed, 14 insertions(+)
diff -puN include/linux/compiler-gcc3.h~add-unitialized_var-macro-for-suppressing-gcc-warnings include/linux/compiler-gcc3.h
--- a/include/linux/compiler-gcc3.h~add-unitialized_var-macro-for-suppressing-gcc-warnings
+++ a/include/linux/compiler-gcc3.h
@@ -13,4 +13,10 @@
#define __must_check __attribute__((warn_unused_result))
#endif
+/*
+ * A trick to suppress uninitialized variable warning without generating any
+ * code
+ */
+#define uninitialized_var(x) x = x
+
#define __always_inline inline __attribute__((always_inline))
diff -puN include/linux/compiler-gcc4.h~add-unitialized_var-macro-for-suppressing-gcc-warnings include/linux/compiler-gcc4.h
--- a/include/linux/compiler-gcc4.h~add-unitialized_var-macro-for-suppressing-gcc-warnings
+++ a/include/linux/compiler-gcc4.h
@@ -16,3 +16,9 @@
#define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
#define __always_inline inline __attribute__((always_inline))
+
+/*
+ * A trick to suppress uninitialized variable warning without generating any
+ * code
+ */
+#define uninitialized_var(x) x = x
diff -puN include/linux/compiler-intel.h~add-unitialized_var-macro-for-suppressing-gcc-warnings include/linux/compiler-intel.h
--- a/include/linux/compiler-intel.h~add-unitialized_var-macro-for-suppressing-gcc-warnings
+++ a/include/linux/compiler-intel.h
@@ -22,3 +22,5 @@
(typeof(ptr)) (__ptr + (off)); })
#endif
+
+#define uninitialized_var(x) x
_
next prev parent reply other threads:[~2007-04-29 9:25 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-26 5:57 2.6.21-rc7-mm2 Andrew Morton
2007-04-26 11:47 ` 2.6.21-rc7-mm2 Gabriel C
2007-04-26 20:37 ` 2.6.21-rc7-mm2 Andrew Morton
2007-04-26 20:46 ` 2.6.21-rc7-mm2 Randy Dunlap
2007-04-29 8:05 ` 2.6.21-rc7-mm2 Geert Uytterhoeven
2007-04-26 20:57 ` 2.6.21-rc7-mm2 Timur Tabi
2007-04-26 21:13 ` 2.6.21-rc7-mm2 Gabriel C
2007-04-26 21:33 ` 2.6.21-rc7-mm2 Andrew Morton
2007-04-26 12:16 ` 2.6.21-rc7-mm2 -- x86_64 VDSO compile error Andy Whitcroft
2007-04-26 13:27 ` Mel Gorman
2007-04-26 14:11 ` Andi Kleen
2007-04-26 14:31 ` Mel Gorman
2007-04-26 14:13 ` 2.6.21-rc7-mm2 -- x86_64 VDSO compile error II Andi Kleen
2007-04-26 14:39 ` Mel Gorman
2007-04-26 15:20 ` Mel Gorman
2007-04-26 15:24 ` Andi Kleen
2007-04-26 15:45 ` Mel Gorman
2007-04-27 0:39 ` Andi Kleen
2007-04-27 8:59 ` Mel Gorman
2007-04-27 15:50 ` [PATCH] Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu fix Mel Gorman
2007-04-27 16:34 ` Andi Kleen
2007-04-27 16:49 ` Mel Gorman
2007-04-26 12:30 ` 2.6.21-rc7-mm2 -- x86_64 blade hard hangs Andy Whitcroft
2007-04-26 13:51 ` Andi Kleen
2007-04-26 13:33 ` Mel Gorman
2007-04-26 14:46 ` Mel Gorman
2007-04-26 17:40 ` Mel Gorman
[not found] ` <20070426234002.GH5475@linux-os.sc.intel.com>
[not found] ` <20070427110709.GE3645@skynet.ie>
2007-04-27 17:54 ` Siddha, Suresh B
2007-04-27 23:59 ` Mel Gorman
2007-04-26 13:17 ` 2.6.21-rc7-mm2 Andy Whitcroft
2007-04-26 13:41 ` 2.6.21-rc7-mm2 -- PPC link failure Andy Whitcroft
2007-04-26 18:14 ` Andy Whitcroft
2007-04-26 18:27 ` Christoph Lameter
2007-04-26 18:40 ` Andy Whitcroft
2007-04-26 18:49 ` Christoph Lameter
2007-04-26 19:12 ` Christoph Lameter
2007-04-26 19:48 ` Andy Whitcroft
2007-04-26 20:23 ` Christoph Lameter
2007-04-27 16:55 ` Andy Whitcroft
2007-04-27 16:58 ` Christoph Lameter
2007-04-26 18:25 ` [PATCH] mm/memory.c: remove warning from an uninitialized spinlock. was: Re: 2.6.21-rc7-mm2 Borislav Petkov
2007-04-28 0:22 ` Andrew Morton
2007-04-28 0:27 ` Jeremy Fitzhardinge
2007-04-28 5:57 ` Borislav Petkov
2007-04-28 6:25 ` Borislav Petkov
2007-04-28 6:54 ` Andrew Morton
2007-04-28 7:03 ` Jeremy Fitzhardinge
2007-04-28 23:48 ` Andy Whitcroft
2007-04-29 3:25 ` Andrew Morton
2007-04-29 6:50 ` Borislav Petkov
2007-04-29 8:19 ` Andrew Morton
2007-04-29 9:24 ` Andrew Morton [this message]
2007-04-29 21:36 ` Dave Jones
2007-04-29 21:45 ` Andrew Morton
2007-11-07 19:20 ` Steven Rostedt
2007-11-08 5:15 ` Borislav Petkov
2007-04-26 23:47 ` [-mm patch] make drivers/hwmon/applesmc.c:backlight_work static Adrian Bunk
2007-04-26 23:47 ` [-mm patch] unexport highlevel_host_reset Adrian Bunk
2007-04-27 0:16 ` Stefan Richter
2007-04-27 2:31 ` 2.6.21-rc7-mm2 breaks 'lvm vgscan' Valdis.Kletnieks
2007-04-27 2:55 ` Andrew Morton
2007-05-05 18:04 ` Valdis.Kletnieks
2007-04-28 17:56 ` 2.6.21-rc7-mm2 crash: Eeek! page_mapcount(page) went negative! (-1) Tilman Schmidt
2007-04-28 21:10 ` Andrew Morton
2007-04-28 22:06 ` Hugh Dickins
2007-04-30 17:17 ` Tilman Schmidt
2007-04-30 18:21 ` Andrew Morton
2007-04-30 19:28 ` Tilman Schmidt
2007-04-30 19:46 ` Andrew Morton
2007-04-30 21:32 ` Tilman Schmidt
2007-05-01 11:26 ` Tilman Schmidt
2007-05-02 3:10 ` Greg KH
2007-05-02 7:01 ` Tilman Schmidt
2007-05-02 7:02 ` Greg KH
2007-05-02 7:10 ` Andrew Morton
2007-05-02 7:28 ` Greg KH
2007-05-02 7:43 ` Greg KH
2007-05-02 9:41 ` Tilman Schmidt
2007-05-02 22:06 ` Greg KH
2007-05-02 12:14 ` Kay Sievers
2007-05-02 7:52 ` Greg KH
2007-05-02 17:36 ` Tilman Schmidt
2007-05-02 20:07 ` Andrew Morton
2007-05-02 21:22 ` Tilman Schmidt
2007-05-02 7:10 ` Nick Piggin
2007-04-28 19:19 ` [-mm patch] make drivers/misc/thinkpad_acpi:fan_mutex static Adrian Bunk
2007-04-28 19:58 ` Henrique de Moraes Holschuh
2007-04-29 1:53 ` Len Brown
2007-04-29 2:50 ` Adrian Bunk
2007-04-29 4:09 ` Henrique de Moraes Holschuh
2007-04-28 19:19 ` [-mm patch] MMC: make tifm_sd_set_dma_data() static Adrian Bunk
2007-05-01 14:14 ` Pierre Ossman
2007-04-28 19:20 ` [-mm patch] drivers/rtc/rtc-dev.c should #include "rtc-core.h" Adrian Bunk
2007-04-28 19:20 ` [-mm patch] scsi/lpfc/lpfc_init.c: remove unused variable Adrian Bunk
2007-04-29 19:19 ` 2.6.21-rc7-mm2 Dan Kruchinin
2007-04-29 19:48 ` 2.6.21-rc7-mm2 Andrew Morton
2007-04-30 5:01 ` 2.6.21-rc7-mm2 hangs in boot Randy Dunlap
2007-04-30 5:23 ` Andrew Morton
2007-04-30 15:16 ` Randy Dunlap
2007-04-30 23:51 ` 2.6.21-rc7-mm2 hangs in boot (netconsole) Randy Dunlap
2007-05-01 0:12 ` Andrew Morton
2007-05-01 0:45 ` Randy Dunlap
2007-05-01 1:08 ` Andrew Morton
2007-05-01 3:43 ` Andi Kleen
2007-05-01 5:16 ` Randy Dunlap
2007-05-01 5:23 ` Andrew Morton
2007-05-01 6:24 ` Andi Kleen
2007-05-01 5:38 ` Andrew Morton
2007-05-01 16:15 ` Randy Dunlap
2007-05-01 6:22 ` Andi Kleen
2007-05-01 16:22 ` Randy Dunlap
2007-05-01 17:26 ` Randy Dunlap
2007-05-04 11:38 ` [PATCH] Re: 2.6.21-rc7-mm2 -- hvsi console driver registration failure Andy Whitcroft
2007-05-04 19:04 ` Linas Vepstas
2007-05-04 20:09 ` Andrew Morton
2007-05-04 21:21 ` Christoph Lameter
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=20070429022440.cb8fc8c4.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=apw@shadowen.org \
--cc=bbpetkov@yahoo.de \
--cc=jeremy@xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox