diff options
author | Martin KaFai Lau <martin.lau@kernel.org> | 2022-08-31 23:35:47 +0300 |
---|---|---|
committer | Martin KaFai Lau <martin.lau@kernel.org> | 2022-09-01 00:10:01 +0300 |
commit | c9ae8c966f05c85c5928c8f1790b13b71cc5ccd5 (patch) | |
tree | c29c585d2a6ff15141ee83ee4f67c2b9569eec20 /kernel/bpf/bpf_task_storage.c | |
parent | 197072945a708d62181895409effdfcda80c7798 (diff) | |
parent | 1c636b6277a2b2bf504df490b8dbadd2bd34ccd4 (diff) | |
download | linux-c9ae8c966f05c85c5928c8f1790b13b71cc5ccd5.tar.xz |
Merge branch 'fixes for concurrent htab updates'
Hou Tao says:
====================
From: Hou Tao <houtao1@huawei.com>
Hi,
The patchset aims to fix the issues found during investigating the
syzkaller problem reported in [0]. It seems that the concurrent updates
to the same hash-table bucket may fail as shown in patch 1.
Patch 1 uses preempt_disable() to fix the problem for
htab_use_raw_lock() case. For !htab_use_raw_lock() case, the problem is
left to "BPF specific memory allocator" patchset [1] in which
!htab_use_raw_lock() will be removed.
Patch 2 fixes the out-of-bound memory read problem reported in [0]. The
problem has the root cause as patch 1 and it is fixed by handling -EBUSY
from htab_lock_bucket() correctly.
Patch 3 add two cases for hash-table update: one for the reentrancy of
bpf_map_update_elem(), and another one for concurrent updates of the
same hash-table bucket.
Comments are always welcome.
Regards,
Tao
[0]: https://lore.kernel.org/bpf/CACkBjsbuxaR6cv0kXJoVnBfL9ZJXjjoUcMpw_Ogc313jSrg14A@mail.gmail.com/
[1]: https://lore.kernel.org/bpf/20220819214232.18784-1-alexei.starovoitov@gmail.com/
Change Log:
v4:
* rebased on bpf-next
* add htab_update to DENYLIST.s390x
v3: https://lore.kernel.org/bpf/20220829023709.1958204-1-houtao@huaweicloud.com/
* patch 1: update commit message and add Fixes tag
* patch 2: add Fixes tag
* patch 3: elaborate the description of test cases
v2: https://lore.kernel.org/bpf/bd60ef93-1c6a-2db2-557d-b09b92ad22bd@huaweicloud.com/
* Note the fix is for CONFIG_PREEMPT case in commit message and add
Reviewed-by tag for patch 1
* Drop patch "bpf: Allow normally concurrent map updates for !htab_use_raw_lock() case"
v1: https://lore.kernel.org/bpf/20220821033223.2598791-1-houtao@huaweicloud.com/
====================
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'kernel/bpf/bpf_task_storage.c')
0 files changed, 0 insertions, 0 deletions