On Mon, Apr 13, 2015 at 01:25:15PM +0200, Peter Senna Tschudin wrote: > Line 4677 of http://pastebin.com/2bi9Dg7k 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->ka.sa.sa_handler;
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 regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/