Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 17/27] add generic lib/checksum.c | Date | Fri, 1 May 2009 11:35:14 +0200 |
| |
On Friday 01 May 2009, Russell King wrote: > Since when has 'memcpy' been valid from user addresses?
It's an artifact from the microblaze code, I found it after submitting the patches when running sparse over it (yes, I know I should do these things in a different order).
The s390 version seems to get this right, so I'll use this:
static inline __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, __wsum sum, int *err_ptr) { int missing;
missing = copy_from_user(dst, src, len); if (missing) { memset(dst + len - missing, 0, missing); *err_ptr = -EFAULT; }
return csum_partial(dst, len, sum); }
On microblaze, the old code was only correct for NOMMU.
Thanks,
Arnd <><
| |