!140 [sync] PR-139: backport patches from upstream:
From: @openeuler-sync-bot Reviewed-by: @bitcoffee Signed-off-by: @bitcoffee
This commit is contained in:
commit
de0fba45e0
@ -0,0 +1,56 @@
|
|||||||
|
From 3827aa514cba7db16b81236712a46e8b70260fcd Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
|
||||||
|
Date: Wed, 8 May 2024 12:13:13 +0200
|
||||||
|
Subject: [PATCH] bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
|
||||||
|
|
||||||
|
[Changes from V1:
|
||||||
|
- Use a default branch in the switch statement to initialize `val'.]
|
||||||
|
|
||||||
|
GCC warns that `val' may be used uninitialized in the
|
||||||
|
BPF_CRE_READ_BITFIELD macro, defined in bpf_core_read.h as:
|
||||||
|
|
||||||
|
[...]
|
||||||
|
unsigned long long val; \
|
||||||
|
[...] \
|
||||||
|
switch (__CORE_RELO(s, field, BYTE_SIZE)) { \
|
||||||
|
case 1: val = *(const unsigned char *)p; break; \
|
||||||
|
case 2: val = *(const unsigned short *)p; break; \
|
||||||
|
case 4: val = *(const unsigned int *)p; break; \
|
||||||
|
case 8: val = *(const unsigned long long *)p; break; \
|
||||||
|
} \
|
||||||
|
[...]
|
||||||
|
val; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
This patch adds a default entry in the switch statement that sets
|
||||||
|
`val' to zero in order to avoid the warning, and random values to be
|
||||||
|
used in case __builtin_preserve_field_info returns unexpected values
|
||||||
|
for BPF_FIELD_BYTE_SIZE.
|
||||||
|
|
||||||
|
Tested in bpf-next master.
|
||||||
|
No regressions.
|
||||||
|
|
||||||
|
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||||
|
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
|
||||||
|
Link: https://lore.kernel.org/bpf/20240508101313.16662-1-jose.marchesi@oracle.com
|
||||||
|
|
||||||
|
Conflict: NA
|
||||||
|
Reference:https://github.com/libbpf/libbpf/commit/3827aa514cba7db16b81236712a46e8b70260fcd
|
||||||
|
---
|
||||||
|
src/bpf_core_read.h | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/bpf_core_read.h b/src/bpf_core_read.h
|
||||||
|
index b5c7ce5c2..c0e13cdf9 100644
|
||||||
|
--- a/src/bpf_core_read.h
|
||||||
|
+++ b/src/bpf_core_read.h
|
||||||
|
@@ -104,6 +104,7 @@ enum bpf_enum_value_kind {
|
||||||
|
case 2: val = *(const unsigned short *)p; break; \
|
||||||
|
case 4: val = *(const unsigned int *)p; break; \
|
||||||
|
case 8: val = *(const unsigned long long *)p; break; \
|
||||||
|
+ default: val = 0; break; \
|
||||||
|
} \
|
||||||
|
val <<= __CORE_RELO(s, field, LSHIFT_U64); \
|
||||||
|
if (__CORE_RELO(s, field, SIGNED)) \
|
||||||
|
|
||||||
|
|
||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Name: %{githubname}
|
Name: %{githubname}
|
||||||
Version: %{githubver}
|
Version: %{githubver}
|
||||||
Release: 3
|
Release: 4
|
||||||
Summary: Libbpf library
|
Summary: Libbpf library
|
||||||
|
|
||||||
License: LGPLv2 or BSD
|
License: LGPLv2 or BSD
|
||||||
@ -18,6 +18,7 @@ Patch0001: backport-libbpf-Ensure-libbpf-always-opens-files-with-O_CLOEX.pa
|
|||||||
Patch0002: backport-libbpf-Set-close-on-exec-flag-on-gzopen.patch
|
Patch0002: backport-libbpf-Set-close-on-exec-flag-on-gzopen.patch
|
||||||
Patch0003: backport-libbpf-Fix-NULL-pointer-dereference-in_bpf_object__c.patch
|
Patch0003: backport-libbpf-Fix-NULL-pointer-dereference-in_bpf_object__c.patch
|
||||||
Patch0004: backport-libbpf-Free-btf_vmlinux-when-closing-bpf_object.patch
|
Patch0004: backport-libbpf-Free-btf_vmlinux-when-closing-bpf_object.patch
|
||||||
|
Patch0005: backport-libbpf-Avoid-uninitialized-value-in-BPF_CORE_READ_BI.patch
|
||||||
|
|
||||||
# This package supersedes libbpf from kernel-tools,
|
# This package supersedes libbpf from kernel-tools,
|
||||||
# which has default Epoch: 0. By having Epoch: 1
|
# which has default Epoch: 0. By having Epoch: 1
|
||||||
@ -70,6 +71,10 @@ developing applications that use %{name}
|
|||||||
%{_libdir}/libbpf.a
|
%{_libdir}/libbpf.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Sep 25 2024 zhangmingyi <zhangmingyi5@huawei.com> 2:1.2.2-4
|
||||||
|
- backport patch from upstream:
|
||||||
|
backport-libbpf-Avoid-uninitialized-value-in-BPF_CORE_READ_BI.patch
|
||||||
|
|
||||||
* Fri May 10 2024 jinzhiguang <jinzhiguang@kylinos.cn> 2:1.2.2-3
|
* Fri May 10 2024 jinzhiguang <jinzhiguang@kylinos.cn> 2:1.2.2-3
|
||||||
- backport patch from upstream:
|
- backport patch from upstream:
|
||||||
backport-libbpf-Free-btf_vmlinux-when-closing-bpf_object.patch
|
backport-libbpf-Free-btf_vmlinux-when-closing-bpf_object.patch
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user