Re: [PATCH v4] net: don't call strlen on non-terminated string in dev_set_alias()

From: David Miller
Date: Tue Jun 06 2017 - 21:05:10 EST


From: Florian Westphal <fw@xxxxxxxxx>
Date: Tue, 6 Jun 2017 23:57:35 +0200

> David Miller <davem@xxxxxxxxxxxxx> wrote:
>> From: Alexander Potapenko <glider@xxxxxxxxxx>
>> Date: Tue, 6 Jun 2017 15:56:54 +0200
>>
>> > KMSAN reported a use of uninitialized memory in dev_set_alias(),
>> > which was caused by calling strlcpy() (which in turn called strlen())
>> > on the user-supplied non-terminated string.
>> >
>> > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx>
>>
>> We should not be allowing non-NULL terminated strings for the
>> IFLA_IFALIAS attribute. It's defined as type NLA_STRING in
>> the ifla_policy[] array.
>
> Unfortunately NLA_STRING doesn't check for NUL byte, only
> NLA_NUL_STRING does this.
>
> So unless you think we can change kernel and make NLA_STRING
> behave like NLA_NUL_STRING I think patch is correct.

Ok, I missed that, thanks for the clarification.

I'll apply this and queue it up for -stable, thanks.