mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
selftests/hid: disable struct_ops auto-attach
Since commit 08ac454e25 ("libbpf: Auto-attach struct_ops BPF maps in
BPF skeleton"), libbpf automatically calls bpf_map__attach_struct_ops()
on every struct_ops it sees in the bpf object. The problem is that
our test bpf object has many of them but only one should be manually
loaded at a time, or we end up locking the syscall.
Link: https://patch.msgid.link/20240723-fix-6-11-bpf-v1-2-b9d770346784@kernel.org
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This commit is contained in:
parent
ff9fbcafba
commit
f64c1a4593
|
|
@ -532,6 +532,7 @@ static void load_programs(const struct test_program programs[],
|
||||||
FIXTURE_DATA(hid_bpf) * self,
|
FIXTURE_DATA(hid_bpf) * self,
|
||||||
const FIXTURE_VARIANT(hid_bpf) * variant)
|
const FIXTURE_VARIANT(hid_bpf) * variant)
|
||||||
{
|
{
|
||||||
|
struct bpf_map *iter_map;
|
||||||
int err = -EINVAL;
|
int err = -EINVAL;
|
||||||
|
|
||||||
ASSERT_LE(progs_count, ARRAY_SIZE(self->hid_links))
|
ASSERT_LE(progs_count, ARRAY_SIZE(self->hid_links))
|
||||||
|
|
@ -564,6 +565,13 @@ static void load_programs(const struct test_program programs[],
|
||||||
*ops_hid_id = self->hid_id;
|
*ops_hid_id = self->hid_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* we disable the auto-attach feature of all maps because we
|
||||||
|
* only want the tested one to be manually attached in the next
|
||||||
|
* call to bpf_map__attach_struct_ops()
|
||||||
|
*/
|
||||||
|
bpf_object__for_each_map(iter_map, *self->skel->skeleton->obj)
|
||||||
|
bpf_map__set_autoattach(iter_map, false);
|
||||||
|
|
||||||
err = hid__load(self->skel);
|
err = hid__load(self->skel);
|
||||||
ASSERT_OK(err) TH_LOG("hid_skel_load failed: %d", err);
|
ASSERT_OK(err) TH_LOG("hid_skel_load failed: %d", err);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user