Re: [PATCH net-next v4] hv_netvsc: Mark VF as slave before exposing it to user-mode

From: Jakub Kicinski
Date: Wed Nov 08 2023 - 21:13:23 EST


On Wed, 8 Nov 2023 14:56:52 -0800 longli@xxxxxxxxxxxxxxxxx wrote:
> From: Long Li <longli@xxxxxxxxxxxxx>
>
> When a VF is being exposed form the kernel, it should be marked as "slave"
> before exposing to the user-mode. The VF is not usable without netvsc running
> as master. The user-mode should never see a VF without the "slave" flag.
>
> An example of a user-mode program depending on this flag is cloud-init
> (https://github.com/canonical/cloud-init/blob/19.3/cloudinit/net/__init__.py)

Quick grep for "flags", "priv" and "slave" doesn't show anything.
Can you point me to the line of code?

> When scanning interfaces, it checks on if this interface has a master to
> decide if it should be configured. There are other user-mode programs perform
> similar checks.
>
> This commit moves the code of setting the slave flag to the time before VF is
> exposed to user-mode.

> Change since v3:
> Change target to net-next.

You don't consider this a fix? It seems like a race condition.

> - if (ether_addr_equal(vf_netdev->perm_addr, ndev->perm_addr)) {
> - netdev_notice(vf_netdev,
> - "falling back to mac addr based matching\n");
> + if (ether_addr_equal(vf_netdev->perm_addr, ndev->perm_addr) ||
> + ether_addr_equal(vf_netdev->dev_addr, ndev->perm_addr))

This change doesn't seem to be described in the commit message.

Please note that we have a rule against reposting patches within 24h:

https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#resending-after-review