diff options
-rw-r--r-- | meta/recipes-kernel/systemtap/systemtap/0001-dwflpp-function_entrypc-avoid-usage-of-uninitialized.patch | 46 | ||||
-rw-r--r-- | meta/recipes-kernel/systemtap/systemtap_git.inc | 5 |
2 files changed, 2 insertions, 49 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-dwflpp-function_entrypc-avoid-usage-of-uninitialized.patch b/meta/recipes-kernel/systemtap/systemtap/0001-dwflpp-function_entrypc-avoid-usage-of-uninitialized.patch deleted file mode 100644 index d0082a1094..0000000000 --- a/meta/recipes-kernel/systemtap/systemtap/0001-dwflpp-function_entrypc-avoid-usage-of-uninitialized.patch +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | From 8466fca2a074323a235ef38d425f994a2ff7e64f Mon Sep 17 00:00:00 2001 | ||
2 | From: Victor Kamensky <kamensky@cisco.com> | ||
3 | Date: Mon, 9 Jul 2018 09:31:19 -0700 | ||
4 | Subject: [PATCH] dwflpp::function_entrypc avoid usage of uninitialized memory | ||
5 | |||
6 | Failure on 3.3 release was observed. Failure was elusive and | ||
7 | disappeared after seemingly random configure option change, or when | ||
8 | code was compiled with -O1 or -O0 (vs default -O2). Running failing | ||
9 | test case under valgrind memcheck pointed to couple places where | ||
10 | 'Conditional jump or move depends on uninitialised value(s)' occured. | ||
11 | |||
12 | After addressing these in two places in dwflpp::function_entrypc, | ||
13 | valgrind memcheck run is clean and original issue got fixed. | ||
14 | |||
15 | Upstream-Status: Backport | ||
16 | Signed-off-by: Victor Kamensky <kamensky@cisco.com> | ||
17 | --- | ||
18 | dwflpp.cxx | 6 +++++- | ||
19 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/dwflpp.cxx b/dwflpp.cxx | ||
22 | index bfbb6b096..2172e705a 100644 | ||
23 | --- a/dwflpp.cxx | ||
24 | +++ b/dwflpp.cxx | ||
25 | @@ -2465,13 +2465,17 @@ bool | ||
26 | dwflpp::function_entrypc (Dwarf_Addr * addr) | ||
27 | { | ||
28 | assert (function); | ||
29 | + | ||
30 | + // assign default value | ||
31 | + *addr = 0; | ||
32 | + | ||
33 | // PR10574: reject 0, which tends to be eliminated COMDAT | ||
34 | if (dwarf_entrypc (function, addr) == 0 && *addr != 0) | ||
35 | return true; | ||
36 | |||
37 | /* Assume the entry pc is the base address, or (if zero) | ||
38 | the first address of the ranges covering this DIE. */ | ||
39 | - Dwarf_Addr start, end; | ||
40 | + Dwarf_Addr start = 0, end; | ||
41 | if (dwarf_ranges (function, 0, addr, &start, &end) >= 0) | ||
42 | { | ||
43 | if (*addr == 0) | ||
44 | -- | ||
45 | 2.17.1 | ||
46 | |||
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc index 06924fc240..274fcde5c1 100644 --- a/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/meta/recipes-kernel/systemtap/systemtap_git.inc | |||
@@ -1,7 +1,7 @@ | |||
1 | LICENSE = "GPLv2" | 1 | LICENSE = "GPLv2" |
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 2 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
3 | SRCREV = "48867d1cface9445d58e3c6e14497770b7eb77e1" | 3 | SRCREV = "428f84e9e656bce71018e8902e4edb8aacafcc0e" |
4 | PV = "3.3" | 4 | PV = "4.0" |
5 | 5 | ||
6 | SRC_URI = "git://sourceware.org/git/systemtap.git \ | 6 | SRC_URI = "git://sourceware.org/git/systemtap.git \ |
7 | file://configure-allow-to-disable-libvirt.patch \ | 7 | file://configure-allow-to-disable-libvirt.patch \ |
@@ -11,7 +11,6 @@ SRC_URI = "git://sourceware.org/git/systemtap.git \ | |||
11 | file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ | 11 | file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ |
12 | file://0001-Install-python-modules-to-correct-library-dir.patch \ | 12 | file://0001-Install-python-modules-to-correct-library-dir.patch \ |
13 | file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ | 13 | file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ |
14 | file://0001-dwflpp-function_entrypc-avoid-usage-of-uninitialized.patch \ | ||
15 | " | 14 | " |
16 | 15 | ||
17 | COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' | 16 | COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' |