Hi, So, the original code that is now part of the #else part was: memcpy_toio(offset, entry->buf, entry->len); On Mon, Aug 22, 2016 at 7:25 PM, Nicholas Mc Guire <der.herr@xxxxxxx> wrote: > > Hi ! > > A probably very basic sparse question - but I could not figure out a > satisfying answer. while compile testing a patch for ntb_transfer.c I got > > CHECK drivers/ntb/ntb_transport.c > drivers/ntb/ntb_transport.c:1583:43: warning: incorrect type in argument 1 (different address spaces) > drivers/ntb/ntb_transport.c:1583:43: expected void *dst > drivers/ntb/ntb_transport.c:1583:43: got void [noderef] <asn:2>*offset > drivers/ntb/ntb_transport.c:1583:56: warning: incorrect type in argument 2 (different address spaces) > drivers/ntb/ntb_transport.c:1583:56: expected void const [noderef] <asn:1>*src > drivers/ntb/ntb_transport.c:1583:56: got void *buf > > looking at the offending line; > > static void ntb_memcpy_tx(struct ntb_queue_entry *entry, void __iomem *offset) > { > #ifdef ARCH_HAS_NOCACHE_UACCESS > /* > * Using non-temporal mov to improve performance on non-cached > * writes, even though we aren't actually copying from user space. > */ > __copy_from_user_inatomic_nocache(offset, entry->buf, entry->len); > > the absence of a __user in the buf argument seems intentional and the > dst is not a kernel but __iomem address which triggers the second warning > So the first warning seems to be a false positive here, the second one > Im not clear about, but I guess its also a false positive. The question > is if there is a clean way to anotate this to make sparse happy without > any unwanted sideffects ? > > For the first warning using (void __user *) entry->buf should do > and be side-effect free, but how could the second warning be fixed ? > > sparse message is from 4.8.0-rc2 (localversion-next is -next-20160822) > sparse version is v0.5.0-44 > > thx! > hofrat > -- > 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 -- 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