[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190228233125.1013080-1-andriin@fb.com>
Date: Thu, 28 Feb 2019 15:31:20 -0800
From: Andrii Nakryiko <andriin@...com>
To: <andrii.nakryiko@...il.com>, <kernel-team@...com>, <ast@...com>,
<acme@...nel.org>, <netdev@...r.kernel.org>, <bpf@...r.kernel.org>,
<daniel@...earbox.net>, <songliubraving@...com>
CC: Andrii Nakryiko <andriin@...com>
Subject: [PATCH v2 bpf-next 0/5] btf_dedup algorithm and test fixes
This patchset fixes a bug in btf_dedup() algorithm, which under specific hash
collision causes infinite loop. It also exposes ability to tune BTF
deduplication table size, with double purpose of allowing applications to
adjust size according to the size of BTF data, as well as allowing a simple way
to force hash collisions by setting table size to 1.
- Patch #1 fixes bug in btf_dedup testing code that's checking strings
- Patch #2 fixes pointer arg formatting in btf.h
- Patch #3 adds option to specify custom dedup table size
- Patch #4 fixes aforementioned bug in btf_dedup
- Patch #5 adds test that validates the fix
v1->v2:
- remove "Fixes" from formatting change patch
- extract roundup_pow2_max func for dedup table size
- btf_equal_struct -> btf_shallow_equal_struct
- explain in comment why we can't rely on just btf_dedup_is_equiv
Andrii Nakryiko (5):
selftests/bpf: fix btf_dedup testing code
libbpf: fix formatting for btf_ext__get_raw_data
btf: allow to customize dedup hash table size
btf: fix bug with resolving STRUCT/UNION into corresponding FWD
selftests/bpf: add btf_dedup test of FWD/STRUCT resolution
tools/lib/bpf/btf.c | 73 +++++++++++++++++++-------
tools/lib/bpf/btf.h | 3 +-
tools/testing/selftests/bpf/.gitignore | 1 +
tools/testing/selftests/bpf/test_btf.c | 49 ++++++++++++++++-
4 files changed, 103 insertions(+), 23 deletions(-)
--
2.17.1
Powered by blists - more mailing lists