[LEDE-DEV] [OpenWrt-Devel] [PATCH netifd 1/3] device: Fix device find failure in avl list due to device name change
Hans Dedecker
dedeckeh at gmail.com
Mon Jun 6 04:06:08 PDT 2016
On Mon, Jun 6, 2016 at 12:38 PM, Eyal Birger <eyal.birger at gmail.com> wrote:
> Hi Hans,
>
> On Mon, Jun 6, 2016 at 1:03 PM, Hans Dedecker <dedeckeh at gmail.com> wrote:
>> As device name is used as key in avl list a device name change will break the avl find logic.
>> Function device_set_ifname offers api to set the device name and re-inserts the avl node in the list
>> when the avl key value is changed.
>>
>> Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
>> ---
>>
>> diff --git a/device.c b/device.c
>> index 06c4820..7149d86 100644
>> --- a/device.c
>> +++ b/device.c
>> @@ -422,14 +422,14 @@ void device_init_virtual(struct device *dev, const struct device_type *type, con
>> assert(dev);
>> assert(type);
>>
>> - if (name)
>> - strncpy(dev->ifname, name, IFNAMSIZ);
>> -
>> D(DEVICE, "Initialize device '%s'\n", dev->ifname);
>
> Isn't this debug print broken by this change?
>
>> INIT_SAFE_LIST(&dev->users);
>> INIT_SAFE_LIST(&dev->aliases);
>> dev->type = type;
>>
>> + if (name)
>> + device_set_ifname(dev, name);
>> +
>
>
> Eyal.
Correct I will send a V2
Thx,
Hans
More information about the Lede-dev
mailing list