Re: [PATCH] netlink: don't copy over empty attribute data

From: Sasha Levin
Date: Tue Oct 21 2014 - 22:19:59 EST


On 10/21/2014 09:39 PM, David Miller wrote:
> From: Sasha Levin <sasha.levin@xxxxxxxxxx>
> Date: Tue, 21 Oct 2014 16:51:09 -0400
>
>> > netlink uses empty data to seperate different levels. However, we still
>> > try to copy that data from a NULL ptr using memcpy, which is an undefined
>> > behaviour.
>> >
>> > Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
> This isn't a POSIX C library, this it the Linux kernel, and as such
> we can make sure none of our memcpy() implementations try to access
> any bytes if the given length is NULL.

We can make *our* implementations work around that undefined behaviour if we
want, but right now our implementations is to call GCC's builtin memcpy(),
which follows the standards and doesn't allow you to call it with NULL 'from'
ptr.

The fact that it doesn't die and behaves properly is just "luck".


Thanks,
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/