[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <de0b307c-63e7-b786-e9d1-8b4a94f61d9a@gmail.com>
Date: Wed, 20 Dec 2017 21:44:46 +0200
From: Serhey Popovich <serhe.popovych@...il.com>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next] dev: Correctly get length of alias string in
dev_set_alias()
David Miller wrote:
> From: Serhey Popovych <serhe.popovych@...il.com>
> Date: Mon, 18 Dec 2017 23:38:35 +0200
>
>> We supply number of bytes available in @alias via @len
>> parameter to dev_set_alias() which is not the same
>> as zero terminated string length that can be shorter.
>>
>> Both dev_set_alias() users (rtnetlink and sysfs) can
>> submit number of bytes up to IFALIASZ with actual string
>> length slightly shorter by putting '\0' not at @len - 1.
>>
>> Use strnlen() to get length of zero terminated string
>> and not access beyond @len. Correct comment about @len
>> and explain how to unset alias (i.e. use zero for @len).
>>
>> Signed-off-by: Serhey Popovych <serhe.popovych@...il.com>
>
> I don't really see this as useful, really.
>
> In the sysfs case, we are not presented with a NULL terminated string.
> Instead, the net sysfs code gives us a length that goes up until the
> trailing newline character. The sysfs case is never larger than the
> actual string size + 1.
>
> The netlink attribute is usually sized appropriately for whatever the
> string length actually is.
Sorry but I do not mean larger. I mean shorter. When nla_len() >
strlen() we allocate extra space up to IFALIASZ - 1.
This is definitely fix nothing: we never get above the bounds, but
in case if NULL terminator is in the middle of string with nla_len()
we might allocate unused extra space.
Sorry again if I'm not correct with above assumption.
>
> This therefore just seems to add an new strnlen() unnecessarily to
> this code path, which rarely does anything helpful.
>
> Thanks.
>
Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)
Powered by blists - more mailing lists