Re: test ./tools/testing/selftests/bpf/test_offload.py failed

From: Zhou, Jie2X
Date: Wed Sep 07 2022 - 04:52:06 EST


hi,

>Most likely a bug in netdevsim itself as it sets the mode of this file
>as "rw" instead of "w". The test actually knows to skip such files:
>Can you test the following patch?
Sorry, I want to confirm that have you ever run test_offload.py test?
What is the output of test_offload.py?

best regards,

________________________________________
From: Ido Schimmel <idosch@xxxxxxxxxx>
Sent: Wednesday, September 7, 2022 2:43 PM
To: Zhou, Jie2X
Cc: andrii@xxxxxxxxxx; mykolal@xxxxxx; ast@xxxxxxxxxx; daniel@xxxxxxxxxxxxx; martin.lau@xxxxxxxxx; davem@xxxxxxxxxxxxx; kuba@xxxxxxxxxx; hawk@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; bpf@xxxxxxxxxxxxxxx; linux-kselftest@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Li, Philip; petrm@xxxxxxxxxx
Subject: Re: test ./tools/testing/selftests/bpf/test_offload.py failed

On Wed, Sep 07, 2022 at 01:16:57PM +0800, Jie2x Zhou wrote:
> I found that "disable_ifindex" file do not set read function, so return -EINVAL when do read.
> Is it a bug in test_offload.py?

Most likely a bug in netdevsim itself as it sets the mode of this file
as "rw" instead of "w". The test actually knows to skip such files:

p = os.path.join(path, f)
if not os.stat(p).st_mode & stat.S_IRUSR:
continue

Can you test the following patch?

diff --git a/drivers/net/netdevsim/hwstats.c b/drivers/net/netdevsim/hwstats.c
index 605a38e16db0..0e58aa7f0374 100644
--- a/drivers/net/netdevsim/hwstats.c
+++ b/drivers/net/netdevsim/hwstats.c
@@ -433,11 +433,11 @@ int nsim_dev_hwstats_init(struct nsim_dev *nsim_dev)
goto err_remove_hwstats_recursive;
}

- debugfs_create_file("enable_ifindex", 0600, hwstats->l3_ddir, hwstats,
+ debugfs_create_file("enable_ifindex", 0200, hwstats->l3_ddir, hwstats,
&nsim_dev_hwstats_l3_enable_fops.fops);
- debugfs_create_file("disable_ifindex", 0600, hwstats->l3_ddir, hwstats,
+ debugfs_create_file("disable_ifindex", 0200, hwstats->l3_ddir, hwstats,
&nsim_dev_hwstats_l3_disable_fops.fops);
- debugfs_create_file("fail_next_enable", 0600, hwstats->l3_ddir, hwstats,
+ debugfs_create_file("fail_next_enable", 0200, hwstats->l3_ddir, hwstats,
&nsim_dev_hwstats_l3_fail_fops.fops);

INIT_DELAYED_WORK(&hwstats->traffic_dw,

>
> test output:
> selftests: bpf: test_offload.py
> Test destruction of generic XDP...
> ......
> raise Exception("Command failed: %s\n%s" % (proc.args, stderr))
> Exception: Command failed: cat /sys/kernel/debug/netdevsim/netdevsim0//ports/0/dev/hwstats/l3/disable_ifindex
>
> cat: /sys/kernel/debug/netdevsim/netdevsim0//ports/0/dev/hwstats/l3/disable_ifindex: Invalid argument
> not ok 20 selftests: bpf: test_offload.py # exit=1