[LEDE-DEV] [PATCH 05/25] kernel: generic: make patches apply on top of kernel 4.14

Andrey Melnikov temnota.am at gmail.com
Mon Feb 19 00:51:49 PST 2018


2018-02-19 1:40 GMT+03:00 Hauke Mehrtens <hauke at hauke-m.de>:
> On 02/18/2018 11:21 PM, Andrey Jr. Melnikov wrote:
>> Fix this patch before release. Or drop it if no one has seen this damage and does not complain.
>
> Hi Andrey,
>
> What is the problem with this patch?
It's bkoren.

code from 4.4 kernel:
....
@@ -5497,6 +5542,7 @@ static int __netdev_upper_dev_link(struc
                        goto rollback_lower_mesh;
        }

+       netdev_update_addr_mask(dev);
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
        return 0;
@@ -5623,6 +5669,7 @@ void netdev_upper_dev_unlink(struct net_
        list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
                __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);

+       netdev_update_addr_mask(dev);
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
 }
@@ -6163,6 +6210,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
+       netdev_update_addr_mask(dev);
        call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
        add_device_randomness(dev->dev_addr, dev->addr_len);
        return 0;
...
same place from 4.14/4.9 patch:
...
@@ -6342,6 +6387,8 @@ void netdev_upper_dev_unlink(struct net_

        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);

+       netdev_update_addr_mask(dev);
+       netdev_update_addr_mask(dev);
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
 }
@@ -6912,6 +6959,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
+       netdev_update_addr_mask(dev);
        call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
        add_device_randomness(dev->dev_addr, dev->addr_len);
        return 0;
...

Compare netdev_update_addr_mask(..) in first chunk.

>>
>>> Hauke Mehrtens <hauke at hauke-m.de> wrote:
>>>> This modifies the patches in a way that they will apply on top of kernel
>>>> 4.14 and also make them build with the x86 target. The configuration
>>>> which was copied from kernel 4.9 before is also modified in this patch.
>>
>>> [....]
>>
>>>> diff --git a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
>>>> index ad0fb5bdc5..4467975b92 100644
>>>> --- a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
>>>> +++ b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
>>>> @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
>>> [...]
>>
>>>> -@@ -6009,6 +6054,8 @@ void netdev_upper_dev_unlink(struct net_
>>>> -       list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
>>>> -               __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
>>>> +@@ -6341,6 +6386,8 @@ void netdev_upper_dev_unlink(struct net_
>>>> +
>>>> +       __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
>>>>
>>>>  +      netdev_update_addr_mask(dev);
>>>>  +      netdev_update_addr_mask(dev);
>>>>         call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
>>>>                                       &changeupper_info.info);
>>>>   }
>>
>>> Patch broken on rebase. In 4.4 - netdev_update_addr_mask(dev); present three
>>> times and called before call_netdevice_notifiers_info(...). Now it called
>>> twice in one place.
>>
>>> [...]
>



More information about the Lede-dev mailing list