Re: [patch net] sefltests: netdevsim: wait for devlink instance after netns removal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 20, 2023 at 6:54 PM Jiri Pirko <jiri@xxxxxxxxxxx> wrote:
>
> From: Jiri Pirko <jiri@xxxxxxxxxx>
>
> When devlink instance is put into network namespace and that network
> namespace gets deleted, devlink instance is moved back into init_ns.
> This is done as a part of cleanup_net() routine. Since cleanup_net()
> is called asynchronously from workqueue, there is no guarantee that
> the devlink instance move is done after "ip netns del" returns.
>
> So fix this race by making sure that the devlink instance is present
> before any other operation.
>
> Reported-by: Amir Tzin <amirtz@xxxxxxxxxx>
> Fixes: b74c37fd35a2 ("selftests: netdevsim: add tests for devlink reload with resources")
> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxx>
> ---
>  .../selftests/drivers/net/netdevsim/devlink.sh | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
> index a08c02abde12..7f7d20f22207 100755
> --- a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
> +++ b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
> @@ -17,6 +17,18 @@ SYSFS_NET_DIR=/sys/bus/netdevsim/devices/$DEV_NAME/net/
>  DEBUGFS_DIR=/sys/kernel/debug/netdevsim/$DEV_NAME/
>  DL_HANDLE=netdevsim/$DEV_NAME
>
> +wait_for_devlink()
> +{
> +       "$@" | grep -q $DL_HANDLE
> +}
> +
> +devlink_wait()
> +{
> +       local timeout=$1
> +
> +       busywait "$timeout" wait_for_devlink devlink dev
> +}
> +
>  fw_flash_test()
>  {
>         RET=0
> @@ -256,6 +268,9 @@ netns_reload_test()
>         ip netns del testns2
>         ip netns del testns1
>
> +       # Wait until netns async cleanup is done.
> +       devlink_wait 2000
> +
>         log_test "netns reload test"
>  }
>
> @@ -348,6 +363,9 @@ resource_test()
>         ip netns del testns2
>         ip netns del testns1
>
> +       # Wait until netns async cleanup is done.
> +       devlink_wait 2000
> +
>         log_test "resource test"
>  }
>
> --
> 2.39.0
>

Looks good to me.
Reviewed-by: Pavan Chebbi <pavan.chebbi@xxxxxxxxxxxx>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux