diff options
| author | Serge Belyshev <[email protected]> | 2007-10-04 23:10:04 +0200 | 
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-10-05 08:04:35 -0700 | 
| commit | 4ecbca8554d0f643351ee07d3284138a5e85ba81 (patch) | |
| tree | 06fd712d440bba74c7957736a9a804dd42e276a4 /net/tipc/handler.c | |
| parent | 9cdcaa2c9330432bfe891d40f2d914b80bbcf9f3 (diff) | |
Remove unnecessary cast in prefetch()
It is ok to call prefetch() function with NULL argument, as specifically
commented in include/linux/prefetch.h.  But in standard C, it is invalid
to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and
note #84).
prefetch() has a memory reference for its argument.
Newer gcc versions (4.3 and above) will use that to conclude that "x"
argument is non-null and thus wreaking havok everywhere prefetch() was
inlined.
Fixed by removing cast and changing asm constraint.
[ It seems in theory gcc 4.2 could miscompile this too; although no
  cases known.  In 2.6.24 we should probably switch to
  __builtin_prefetch() instead, but this is a simpler fix for now.
				-- AK ]
Signed-off-by: Serge Belyshev <[email protected]>
Signed-off-by: Andi Kleen <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/tipc/handler.c')
0 files changed, 0 insertions, 0 deletions