public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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
_


  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