Commit graph

1158 commits

Author SHA1 Message Date
Greg Kroah-Hartman
418b99042b Linux 4.4.65 2017-04-30 05:50:11 +02:00
Greg Kroah-Hartman
12f4e1f54a Linux 4.4.64 2017-04-27 09:09:53 +02:00
Greg Kroah-Hartman
81af21fe95 Linux 4.4.63 2017-04-21 09:30:24 +02:00
Greg Kroah-Hartman
a80c068fbf Linux 4.4.62 2017-04-18 07:15:37 +02:00
Greg Kroah-Hartman
ec5e61608a Linux 4.4.61 2017-04-12 12:38:50 +02:00
Greg Kroah-Hartman
8f8ee9706b Linux 4.4.60 2017-04-08 09:53:53 +02:00
Greg Kroah-Hartman
61a4577c9a Linux 4.4.59 2017-03-31 10:17:09 +02:00
Greg Kroah-Hartman
0a5766a6a7 Linux 4.4.58 2017-03-30 09:36:33 +02:00
Greg Kroah-Hartman
a5c3f390eb Linux 4.4.57 2017-03-26 12:13:55 +02:00
Greg Kroah-Hartman
0136bca4e0 Linux 4.4.56 2017-03-22 12:17:51 +01:00
Greg Kroah-Hartman
28ec98bc2e Linux 4.4.55 2017-03-18 19:10:23 +08:00
Greg Kroah-Hartman
804a935963 Linux 4.4.54 2017-03-15 09:57:56 +08:00
Greg Kroah-Hartman
49616e7150 Linux 4.4.53 2017-03-12 06:37:49 +01:00
Greg Kroah-Hartman
dd4534d88b Linux 4.4.52 2017-02-26 11:08:29 +01:00
Greg Kroah-Hartman
f1924ac09c Linux 4.4.51 2017-02-23 17:43:20 +01:00
Greg Kroah-Hartman
c50b74d886 Linux 4.4.50 2017-02-18 16:39:37 +01:00
Greg Kroah-Hartman
702c0ce9a7 Linux 4.4.49 2017-02-14 15:23:09 -08:00
Greg Kroah-Hartman
6a1bd90632 Linux 4.4.48 2017-02-09 08:02:59 +01:00
Greg Kroah-Hartman
4686ea264f Linux 4.4.47 2017-02-04 09:45:26 +01:00
Greg Kroah-Hartman
6c1ed78cb0 Linux 4.4.46 2017-02-01 08:31:11 +01:00
Greg Kroah-Hartman
ef30573ef2 Linux 4.4.45 2017-01-26 08:24:03 +01:00
Greg Kroah-Hartman
a7dd347a67 Linux 4.4.44 2017-01-20 10:56:50 +01:00
Greg Kroah-Hartman
d9ea51a9be Linux 4.4.43 2017-01-15 13:41:49 +01:00
Greg Kroah-Hartman
49c4446a2e Linux 4.4.42 2017-01-12 11:23:02 +01:00
Greg Kroah-Hartman
cdd86b9722 Linux 4.4.41 2017-01-09 08:08:10 +01:00
Greg Kroah-Hartman
a3edc7b2e5 Linux 4.4.40 2017-01-06 11:16:31 +01:00
Greg Kroah-Hartman
a34f0e8a2f Linux 4.4.39 2016-12-15 08:49:34 -08:00
Greg Kroah-Hartman
c95b7f1fab Linux 4.4.38 2016-12-10 19:08:05 +01:00
Greg Kroah-Hartman
e5f84c1444 Linux 4.4.37 2016-12-08 07:15:46 +01:00
Greg Kroah-Hartman
87c6c6ef5b Linux 4.4.36 2016-12-02 09:09:18 +01:00
Greg Kroah-Hartman
0a5b451a53 Linux 4.4.35 2016-11-26 09:55:04 +01:00
Borislav Petkov
147117cf23 kbuild: Steal gcc's pie from the very beginning
commit c6a385539175ebc603da53aafb7753d39089f32e upstream.

So Sebastian turned off the PIE for kernel builds but that was too late
- Kbuild.include already uses KBUILD_CFLAGS and trying to disable gcc
options with, say cc-disable-warning, fails:

  gcc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
  ...
  -Wno-sign-compare -fno-asynchronous-unwind-tables -Wframe-address -c -x c /dev/null -o .31392.tmp
  /dev/null:1:0: error: code model kernel does not support PIC mode

because that returns an error and we can't disable the warning. For
example in this case:

KBUILD_CFLAGS   += $(call cc-disable-warning,frame-address,)

which leads to gcc issuing all those warnings again.

So let's turn off PIE/PIC at the earliest possible moment, when we
declare KBUILD_CFLAGS so that cc-disable-warning picks it up too.

Also, we need the $(call cc-option ...) because -fno-PIE is supported
since gcc v3.4 and our lowest supported gcc version is 3.2 right now.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-26 09:54:52 +01:00
Sebastian Andrzej Siewior
f740b5cc39 kbuild: add -fno-PIE
commit 8ae94224c9d72fc4d9aaac93b2d7833cf46d7141 upstream.

Debian started to build the gcc with -fPIE by default so the kernel
build ends before it starts properly with:
|kernel/bounds.c:1:0: error: code model kernel does not support PIC mode

Also add to KBUILD_AFLAGS due to:

|gcc -Wp,-MD,arch/x86/entry/vdso/vdso32/.note.o.d … -mfentry -DCC_USING_FENTRY … vdso/vdso32/note.S
|arch/x86/entry/vdso/vdso32/note.S:1:0: sorry, unimplemented: -mfentry isn’t supported for 32-bit in combination with -fpic

Tagging it stable so it is possible to compile recent stable kernels as
well.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-26 09:54:52 +01:00
Greg Kroah-Hartman
4eb9a81002 Linux 4.4.34 2016-11-21 10:06:53 +01:00
Greg Kroah-Hartman
86429bd405 Linux 4.4.33 2016-11-18 10:49:03 +01:00
Greg Kroah-Hartman
4dab3e4df9 Linux 4.4.32 2016-11-15 07:47:35 +01:00
Greg Kroah-Hartman
beb996c1c3 Linux 4.4.31 2016-11-10 16:37:00 +01:00
Linus Torvalds
1d79b67c4a Disable "frame-address" warning
commit 124a3d88fa20e1869fc229d7d8c740cc81944264 upstream.

Newer versions of gcc warn about the use of __builtin_return_address()
with a non-zero argument when "-Wall" is specified:

  kernel/trace/trace_irqsoff.c: In function ‘stop_critical_timings’:
  kernel/trace/trace_irqsoff.c:433:86: warning: calling ‘__builtin_return_address’ with a nonzero argument is unsafe [-Wframe-address]
     stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
  [ .. repeats a few times for other similar cases .. ]

It is true that a non-zero argument is somewhat dangerous, and we do not
actually have very many uses of that in the kernel - but the ftrace code
does use it, and as Stephen Rostedt says:

 "We are well aware of the danger of using __builtin_return_address() of
  > 0.  In fact that's part of the reason for having the "thunk" code in
  x86 (See arch/x86/entry/thunk_{64,32}.S).  [..] it adds extra frames
  when tracking irqs off sections, to prevent __builtin_return_address()
  from accessing bad areas.  In fact the thunk_32.S states: 'Trampoline to
  trace irqs off.  (otherwise CALLER_ADDR1 might crash)'."

For now, __builtin_return_address() with a non-zero argument is the best
we can do, and the warning is not helpful and can end up making people
miss other warnings for real problems.

So disable the frame-address warning on compilers that need it.

Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-10 16:36:36 +01:00
Greg Kroah-Hartman
887b692a46 Linux 4.4.30 2016-10-31 19:56:58 -06:00
Greg Kroah-Hartman
acd21d8482 Linux 4.4.29 2016-10-31 06:15:26 -06:00
Greg Kroah-Hartman
c843445f19 Linux 4.4.28 2016-10-28 03:53:25 -04:00
Greg Kroah-Hartman
3afd8362fa Linux 4.4.27 2016-10-22 12:27:13 +02:00
Greg Kroah-Hartman
4ad454918b Linux 4.4.26 2016-10-20 10:01:03 +02:00
Greg Kroah-Hartman
6c789d9edd Linux 4.4.25 2016-10-16 17:48:03 +02:00
Greg Kroah-Hartman
11bfbae194 Linux 4.4.24 2016-10-07 15:23:59 +02:00
Greg Kroah-Hartman
d19e48fe5d Linux 4.4.23 2016-09-30 10:20:43 +02:00
Steven Rostedt
a52031beb0 Makefile: Mute warning for __builtin_return_address(>0) for tracing only
commit 377ccbb483738f84400ddf5840c7dd8825716985 upstream.

With the latest gcc compilers, they give a warning if
__builtin_return_address() parameter is greater than 0. That is because if
it is used by a function called by a top level function (or in the case of
the kernel, by assembly), it can try to access stack frames outside the
stack and crash the system.

The tracing system uses __builtin_return_address() of up to 2! But it is
well aware of the dangers that it may have, and has even added precautions
to protect against it (see the thunk code in arch/x86/entry/thunk*.S)

Linus originally added KBUILD_CFLAGS that would suppress the warning for the
entire kernel, as simply adding KBUILD_CFLAGS to the tracing directory
wouldn't work. The tracing directory plays a bit with the CFLAGS and
requires a little more logic.

This adds that special logic to only suppress the warning for the tracing
directory. If it is used anywhere else outside of tracing, the warning will
still be triggered.

Link: http://lkml.kernel.org/r/20160728223043.51996267@grimm.local.home

Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-30 10:18:35 +02:00
Linus Torvalds
a521e942bd Disable "frame-address" warning
commit 124a3d88fa20e1869fc229d7d8c740cc81944264 upstream.

Newer versions of gcc warn about the use of __builtin_return_address()
with a non-zero argument when "-Wall" is specified:

  kernel/trace/trace_irqsoff.c: In function ‘stop_critical_timings’:
  kernel/trace/trace_irqsoff.c:433:86: warning: calling ‘__builtin_return_address’ with a nonzero argument is unsafe [-Wframe-address]
     stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
  [ .. repeats a few times for other similar cases .. ]

It is true that a non-zero argument is somewhat dangerous, and we do not
actually have very many uses of that in the kernel - but the ftrace code
does use it, and as Stephen Rostedt says:

 "We are well aware of the danger of using __builtin_return_address() of
  > 0.  In fact that's part of the reason for having the "thunk" code in
  x86 (See arch/x86/entry/thunk_{64,32}.S).  [..] it adds extra frames
  when tracking irqs off sections, to prevent __builtin_return_address()
  from accessing bad areas.  In fact the thunk_32.S states: 'Trampoline to
  trace irqs off.  (otherwise CALLER_ADDR1 might crash)'."

For now, __builtin_return_address() with a non-zero argument is the best
we can do, and the warning is not helpful and can end up making people
miss other warnings for real problems.

So disable the frame-address warning on compilers that need it.

Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-30 10:18:35 +02:00
Linus Torvalds
3da2a4cb6e Disable "maybe-uninitialized" warning globally
commit 6e8d666e925333c55378e8d5540a8a9ee0eea9c5 upstream.

Several build configurations had already disabled this warning because
it generates a lot of false positives.  But some had not, and it was
still enabled for "allmodconfig" builds, for example.

Looking at the warnings produced, every single one I looked at was a
false positive, and the warnings are frequent enough (and big enough)
that they can easily hide real problems that you don't notice in the
noise generated by -Wmaybe-uninitialized.

The warning is good in theory, but this is a classic case of a warning
that causes more problems than the warning can solve.

If gcc gets better at avoiding false positives, we may be able to
re-enable this warning.  But as is, we're better off without it, and I
want to be able to see the *real* warnings.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-30 10:18:35 +02:00
Arnd Bergmann
7cd4d22328 gcov: disable -Wmaybe-uninitialized warning
commit e72e2dfe7c16ffbfbabf9cb24adc6d9f93a4fe37 upstream.

When gcov profiling is enabled, we see a lot of spurious warnings about
possibly uninitialized variables being used:

arch/arm/mm/dma-mapping.c: In function 'arm_coherent_iommu_map_page':
arch/arm/mm/dma-mapping.c:1085:16: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/clk/st/clk-flexgen.c: In function 'st_of_flexgen_setup':
drivers/clk/st/clk-flexgen.c:323:9: warning: 'num_parents' may be used uninitialized in this function [-Wmaybe-uninitialized]
kernel/cgroup.c: In function 'cgroup_mount':
kernel/cgroup.c:2119:11: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized]

All of these are false positives, so it seems better to just disable
the warnings whenever GCOV is enabled. Most users don't enable GCOV,
and based on a prior patch, it is now also disabled for 'allmodconfig'
builds, so there should be no downsides of doing this.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-30 10:18:35 +02:00