mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-11-01 16:27:10 +00:00
The 4.4.14 has a number of important fixes/additions: - New support for retpolines (enabled but requires newer gcc to take advantage of). This provides mitigation for Spectre style attacks. - Various KPTI fixes including fixes for EFI booting - More eBPF fixes around out-of-bounds and overflow of maps. These were used for variant 1 of CVE-2017-5753. - Several KVM related to CVE-2017-5753, CVE-2017-5715, CVE-2017-17741. - New sysfs interface listing vulnerabilities: /sys/devices/system/cpu/vulnerabilities The 4.9.77 kernel also has seems to have most/all of the above back-ported. See https://lwn.net/SubscriberLink/744287/1fc3c18173f732e7/ for more details on the Spectre mitigation. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
71 lines
2.9 KiB
Diff
71 lines
2.9 KiB
Diff
From 86122e4fc58bb5d5a5ef6c02f4f7b44f9da85567 Mon Sep 17 00:00:00 2001
|
|
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
Date: Thu, 13 Oct 2016 17:12:35 -0300
|
|
Subject: [PATCH 02/12] perf jit: Avoid returning garbage for a ret variable
|
|
|
|
When the loop body isn't executed at all, then the 'ret' local variable,
|
|
that is uninitialized will be used as the return value.
|
|
|
|
This triggers this error on Alpine Linux:
|
|
|
|
CC /tmp/build/perf/util/demangle-java.o
|
|
CC /tmp/build/perf/util/demangle-rust.o
|
|
CC /tmp/build/perf/util/jitdump.o
|
|
CC /tmp/build/perf/util/genelf.o
|
|
util/jitdump.c: In function 'jit_process':
|
|
util/jitdump.c:622:3: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|
|
fprintf(stderr, "injected: %s (%d)\n", path, ret);
|
|
^
|
|
util/jitdump.c:584:6: note: 'ret' was declared here
|
|
int ret;
|
|
^
|
|
FLEX /tmp/build/perf/util/parse-events-flex.c
|
|
|
|
/ $ gcc -v
|
|
Using built-in specs.
|
|
COLLECT_GCC=gcc
|
|
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/5.3.0/lto-wrapper
|
|
Target: x86_64-alpine-linux-musl
|
|
Configured with: /home/buildozer/aports/main/gcc/src/gcc-5.3.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
|
|
+--build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --with-pkgversion='Alpine 5.3.0' --enable-checking=release
|
|
+--disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-symvers --enable-__cxa_atexit --enable-esp
|
|
+--enable-cloog-backend --enable-languages=c,c++,objc,java,fortran,ada --disable-libssp --disable-libmudflap --disable-libsanitizer --enable-shared
|
|
+--enable-threads --enable-tls --with-system-zlib
|
|
Thread model: posix
|
|
gcc version 5.3.0 (Alpine 5.3.0)
|
|
|
|
But this so far got under the radar, not causing any build problem, till the
|
|
"perf jit: enable jitdump support without dwarf" gets applied, when the above
|
|
problem takes place, some combination of inlining or whatever, the problem
|
|
is real, so fix it by initializing the variable to zero.
|
|
|
|
Cc: Anton Blanchard <anton@ozlabs.org>
|
|
Cc: Jiri Olsa <jolsa@redhat.com>
|
|
Cc: Maciej Debski <maciejd@google.com>
|
|
Cc: Namhyung Kim <namhyung@kernel.org>
|
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Cc: Stephane Eranian <eranian@google.com>
|
|
Link: https://lkml.kernel.org/r/20161013200437.GA12815@kernel.org
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
(cherry picked from commit ef2c3e76d98dfb69a46d870b47656e8e5bac6e2b)
|
|
---
|
|
tools/perf/util/jitdump.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
|
|
index 95f0884aae02..f3ed3c963c71 100644
|
|
--- a/tools/perf/util/jitdump.c
|
|
+++ b/tools/perf/util/jitdump.c
|
|
@@ -581,7 +581,7 @@ static int
|
|
jit_process_dump(struct jit_buf_desc *jd)
|
|
{
|
|
union jr_entry *jr;
|
|
- int ret;
|
|
+ int ret = 0;
|
|
|
|
while ((jr = jit_get_next_entry(jd))) {
|
|
switch(jr->prefix.id) {
|
|
--
|
|
2.15.0
|
|
|