Re: [PATCH] net: Don't allow to attach xdp if bond slave device's upper already has a program
From: Jiri Pirko
Date: Thu Aug 15 2024 - 08:37:15 EST
Thu, Aug 15, 2024 at 01:18:33PM CEST, pabeni@xxxxxxxxxx wrote:
>On 8/14/24 11:08, Feng zhou wrote:
>> From: Feng Zhou <zhoufeng.zf@xxxxxxxxxxxxx>
>>
>> Cannot attach when an upper device already has a program, This
>> restriction is only for bond's slave devices, and should not be
>> accidentally injured for devices like eth0 and vxlan0.
>>
>> Signed-off-by: Feng Zhou <zhoufeng.zf@xxxxxxxxxxxxx>
>> ---
>> net/core/dev.c | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/net/core/dev.c b/net/core/dev.c
>> index 6ea1d20676fb..e1f87662376a 100644
>> --- a/net/core/dev.c
>> +++ b/net/core/dev.c
>> @@ -9501,10 +9501,12 @@ static int dev_xdp_attach(struct net_device *dev, struct netlink_ext_ack *extack
>> }
>> /* don't allow if an upper device already has a program */
>> - netdev_for_each_upper_dev_rcu(dev, upper, iter) {
>> - if (dev_xdp_prog_count(upper) > 0) {
>> - NL_SET_ERR_MSG(extack, "Cannot attach when an upper device already has a program");
>> - return -EEXIST;
>> + if (netif_is_bond_slave(dev)) {
>
>I think we want to consider even team port devices.
netif_is_lag_port()
>
>Thanks,
>
>Paolo
>