diff options
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/0012-util-cacheinfo-fix-crash-when-compiling-with-uClibc.patch | 48 |
2 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 7a963ad57c..a1a418374f 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc | |||
@@ -28,6 +28,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ | |||
28 | file://0009-Fix-webkitgtk-builds.patch \ | 28 | file://0009-Fix-webkitgtk-builds.patch \ |
29 | file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \ | 29 | file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \ |
30 | file://0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch \ | 30 | file://0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch \ |
31 | file://0012-util-cacheinfo-fix-crash-when-compiling-with-uClibc.patch \ | ||
31 | file://CVE-2019-15890.patch \ | 32 | file://CVE-2019-15890.patch \ |
32 | file://CVE-2020-1711.patch \ | 33 | file://CVE-2020-1711.patch \ |
33 | file://CVE-2020-7039-1.patch \ | 34 | file://CVE-2020-7039-1.patch \ |
diff --git a/meta/recipes-devtools/qemu/qemu/0012-util-cacheinfo-fix-crash-when-compiling-with-uClibc.patch b/meta/recipes-devtools/qemu/qemu/0012-util-cacheinfo-fix-crash-when-compiling-with-uClibc.patch new file mode 100644 index 0000000000..741a4fce0e --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0012-util-cacheinfo-fix-crash-when-compiling-with-uClibc.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 00b5032eaddb7193f03f0a28b10286244d2e2a7b Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos Santos <casantos@redhat.com> | ||
3 | Date: Thu, 17 Oct 2019 09:37:13 -0300 | ||
4 | Subject: [PATCH 1/1] util/cacheinfo: fix crash when compiling with uClibc | ||
5 | |||
6 | uClibc defines _SC_LEVEL1_ICACHE_LINESIZE and _SC_LEVEL1_DCACHE_LINESIZE | ||
7 | but the corresponding sysconf calls returns -1, which is a valid result, | ||
8 | meaning that the limit is indeterminate. | ||
9 | |||
10 | Handle this situation using the fallback values instead of crashing due | ||
11 | to an assertion failure. | ||
12 | |||
13 | Signed-off-by: Carlos Santos <casantos@redhat.com> | ||
14 | Message-Id: <20191017123713.30192-1-casantos@redhat.com> | ||
15 | Signed-off-by: Richard Henderson <richard.henderson@linaro.org> | ||
16 | |||
17 | Upstream-status: Backport | ||
18 | Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> | ||
19 | --- | ||
20 | util/cacheinfo.c | 10 ++++++++-- | ||
21 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/util/cacheinfo.c b/util/cacheinfo.c | ||
24 | index ea6f3e99bf..d94dc6adc8 100644 | ||
25 | --- a/util/cacheinfo.c | ||
26 | +++ b/util/cacheinfo.c | ||
27 | @@ -93,10 +93,16 @@ static void sys_cache_info(int *isize, int *dsize) | ||
28 | static void sys_cache_info(int *isize, int *dsize) | ||
29 | { | ||
30 | # ifdef _SC_LEVEL1_ICACHE_LINESIZE | ||
31 | - *isize = sysconf(_SC_LEVEL1_ICACHE_LINESIZE); | ||
32 | + int tmp_isize = (int) sysconf(_SC_LEVEL1_ICACHE_LINESIZE); | ||
33 | + if (tmp_isize > 0) { | ||
34 | + *isize = tmp_isize; | ||
35 | + } | ||
36 | # endif | ||
37 | # ifdef _SC_LEVEL1_DCACHE_LINESIZE | ||
38 | - *dsize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); | ||
39 | + int tmp_dsize = (int) sysconf(_SC_LEVEL1_DCACHE_LINESIZE); | ||
40 | + if (tmp_dsize > 0) { | ||
41 | + *dsize = tmp_dsize; | ||
42 | + } | ||
43 | # endif | ||
44 | } | ||
45 | #endif /* sys_cache_info */ | ||
46 | -- | ||
47 | 2.30.1 | ||
48 | |||