On Fri, May 27, 2016 at 1:04 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > In fact, the patch that I have in my private tree that was hiding the > warning for me on x86 is one that removes all instances of IS_ERR_VALUE() > with arguments other than 'unsigned long', see http://pastebin.com/uYa2mkgC > for reference. Please just send me that patch, we need to do this (and then add a cast to pointer (and back to unsigned long) in IS_ERR_VALUE() so that we get warnings for when that macro is mis-used. I didn't look at the details of your patch, but I did look at several IS_ERR_VALUE() uses in the standard kernel, and they were basically all wrong. Even the ones that used it for the rigth reason (vm_brk() that returns a pointer or an error in an "unsigned long") had actively screwed up and truncated that (correct) unsigned long value to "int" before doing the IS_ERR_VALUE(), which made it all wrong again. And the other users just looked entirely bogus, and were all just "zero or negative error code" that has nothing to do with IS_ERR_VALUE(). The code should just check against zero, not use that macro that was designed for something different. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html