2008-12-27 09:53:59

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH] x86_64: Eliminate atleast 10684 sparse warnings

Impact: cleanup, avoid 10000+ sparse warnings

Eliminate 1434 sparse warnings like:
include/linux/list.h:106:16: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1434 sparse warnings like:
include/linux/list.h:107:16: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1434 sparse warnings like:
include/linux/list.h:579:12: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1434 sparse warnings like:
include/linux/list.h:580:13: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1237 sparse warnings like:
include/linux/rculist.h:97:16: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1237 sparse warnings like:
include/linux/rculist.h:143:14: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1237 sparse warnings like:
include/linux/rculist.h:260:13: warning: constant 0xdead000000000000 is so big it is unsigned long

Eliminate 1237 sparse warnings like:
include/linux/rculist.h:280:15: warning: constant 0xdead000000000000 is so big it is unsigned long

Signed-off-by: Jaswinder Singh Rajput <[email protected]>
---
include/linux/poison.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/poison.h b/include/linux/poison.h
index 603d3bd..f2de9a9 100644
--- a/include/linux/poison.h
+++ b/include/linux/poison.h
@@ -9,7 +9,7 @@
* that is also not mappable by user-space exploits:
*/
#ifdef CONFIG_ILLEGAL_POINTER_VALUE
-# define POISON_POINTER_DELTA CONFIG_ILLEGAL_POINTER_VALUE
+# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
#else
# define POISON_POINTER_DELTA 0
#endif
--
1.5.5.1



2008-12-27 09:59:49

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86_64: Eliminate atleast 10684 sparse warnings


* Jaswinder Singh Rajput <[email protected]> wrote:

> Impact: cleanup, avoid 10000+ sparse warnings

:-)

> include/linux/poison.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)

applied to tip/safe-poison-pointers, thanks Jaswinder!

Ingo

2008-12-27 10:08:19

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] x86_64: Eliminate atleast 10684 sparse warnings

On Sat, 27 Dec 2008 15:21:36 +0530 Jaswinder Singh Rajput <[email protected]> wrote:

> #ifdef CONFIG_ILLEGAL_POINTER_VALUE
> -# define POISON_POINTER_DELTA CONFIG_ILLEGAL_POINTER_VALUE
> +# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
> #else
> # define POISON_POINTER_DELTA 0
> #endif

So now

commit 948f984df52511bb0efa5c026813b0c34de43aa0
Author: Avi Kivity <[email protected]>
AuthorDate: Tue May 20 14:39:25 2008 +0300
Commit: Ingo Molnar <[email protected]>
CommitDate: Tue May 20 13:42:31 2008 +0200

core, x86: make LIST_POISON less deadly

gets splattered across three commits (at least). Sigh.

(how come that patch is 7 moonths old and still unmerged, btw?)

2008-12-27 10:21:34

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86_64: Eliminate atleast 10684 sparse warnings


* Andrew Morton <[email protected]> wrote:

> On Sat, 27 Dec 2008 15:21:36 +0530 Jaswinder Singh Rajput <[email protected]> wrote:
>
> > #ifdef CONFIG_ILLEGAL_POINTER_VALUE
> > -# define POISON_POINTER_DELTA CONFIG_ILLEGAL_POINTER_VALUE
> > +# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
> > #else
> > # define POISON_POINTER_DELTA 0
> > #endif
>
> So now
>
> commit 948f984df52511bb0efa5c026813b0c34de43aa0
> Author: Avi Kivity <[email protected]>
> AuthorDate: Tue May 20 14:39:25 2008 +0300
> Commit: Ingo Molnar <[email protected]>
> CommitDate: Tue May 20 13:42:31 2008 +0200
>
> core, x86: make LIST_POISON less deadly
>
> gets splattered across three commits (at least). Sigh.

Can rebase, although that would hide the (deserved) credit that
Jaswinder's patch deserves. And it does not appear to be a must-rebase
example to me - it's not like one does sparse builds during bisection.

> (how come that patch is 7 moonths old and still unmerged, btw?)

Linus had reservations about the first version (which got fixed but which
prevented it from going upstream in the first cycle) - and it's not an
exactly critical change and other stuff interfered. All our previous merge
windows were fully filled ;)

Ingo