[lkml]   [2015]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] Fix pointer cast for 32 bits arch
On Mon, Apr 13, 2015 at 01:25:15PM +0200, Peter Senna Tschudin wrote:
> Line 4677 of looks like a bug
> diff -u -p a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
> - regs->nip = (unsigned long) (unsigned long)ksig->;

I don't know about "bug" but it does look uninentional, yes.

Double casting is probably a good thing to print a static checker
warning about.

Other static checkers complain about:

1) ~(char)foo;

(char)foo is type promoted to an int before the bitwise NOT.

2) (long *)&some_int

3) some_function((struct foo *)ptr);

Casting function arguments is almost always wrong. I check this
with Smatch. I don't remember the details.

4) (long long)(x + y)

Probably it should be (long long)x + y

dan carpenter

 \ /
  Last update: 2015-04-13 14:41    [W:0.109 / U:3.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site