Probably sparse just doesn't pay attention to const, but shouldn't the definitions of __chk_user_ptr and __chk_io_ptr be extern void __chk_user_ptr(const void __user *); extern void __chk_io_ptr(const void __iomem *); instead of extern void __chk_user_ptr(void __user *); extern void __chk_io_ptr(void __iomem *); ? Russ - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html