On 11/21/2013 08:21 AM, Antonio Quartulli wrote:
On Thu, Nov 21, 2013 at 04:45:14AM +0100, Matthias Schiffer wrote:
You are casting a u32 * to unsigned long *? Won't this break horribly when sizeof(u32) != sizeof(unsigned long)?
It will break when sizeof(unsigned long) > sizeof(uint32). For example on x86_64. Hopefully nobody would use such ancient kernel on his machine. But you are right.
What do you think of the attached patch?
That's better, but if you care about overflow, you should add something like
if (_v != (unsigned long)v) _r = -ERANGE;
Also, the comment in the line above doesn't make sense anymore...