[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230417074016.3920-1-dinghui@sangfor.com.cn>
Date: Mon, 17 Apr 2023 15:40:14 +0800
From: Ding Hui <dinghui@...gfor.com.cn>
To: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, intel-wired-lan@...ts.osuosl.org,
jesse.brandeburg@...el.com, anthony.l.nguyen@...el.com
Cc: keescook@...omium.org, grzegorzx.szczurek@...el.com,
mateusz.palczewski@...el.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-hardening@...r.kernel.org,
pengdonglin@...gfor.com.cn, huangcun@...gfor.com.cn,
Ding Hui <dinghui@...gfor.com.cn>
Subject: [RESEND PATCH net 0/2] iavf: Fix issues when setting channels concurrency with removing
The patchset fix two issues which can be reproduced by the following script:
[root@...t ~]# cat test-iavf-1.sh
#!/bin/bash
pf_dbsf="0000:41:00.0"
vf0_dbsf="0000:41:02.0"
g_pids=()
function do_set_numvf()
{
echo 2 >/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs
sleep $((RANDOM%3+1))
echo 0 >/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs
sleep $((RANDOM%3+1))
}
function do_set_channel()
{
local nic=$(ls -1 --indicator-style=none /sys/bus/pci/devices/${vf0_dbsf}/net/)
[ -z "$nic" ] && { sleep $((RANDOM%3)) ; return 1; }
ifconfig $nic 192.168.18.5 netmask 255.255.255.0
ifconfig $nic up
ethtool -L $nic combined 1
ethtool -L $nic combined 4
sleep $((RANDOM%3))
}
function on_exit()
{
local pid
for pid in "${g_pids[@]}"; do
kill -0 "$pid" &>/dev/null && kill "$pid" &>/dev/null
done
g_pids=()
}
trap "on_exit; exit" EXIT
while :; do do_set_numvf ; done &
g_pids+=($!)
while :; do do_set_channel ; done &
g_pids+=($!)
wait
Ding Hui (2):
iavf: Fix use-after-free in free_netdev
iavf: Fix out-of-bounds when setting channels on remove
drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 4 +++-
drivers/net/ethernet/intel/iavf/iavf_main.c | 6 +-----
2 files changed, 4 insertions(+), 6 deletions(-)
--
2.17.1
Powered by blists - more mailing lists