- 03 Apr, 2018 40 commits
-
-
Nicholas Piggin authored
CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 commit 50e51c13 upstream. The rfid/hrfid ((Hypervisor) Return From Interrupt) instruction is used for switching from the kernel to userspace, and from the hypervisor to the guest kernel. However it can and is also used for other transitions, eg. from real mode kernel code to virtual mode kernel code, and it's not always clear from the code what the destination context is. To make it clearer when reading the code, add macros which encode the expected destination context. Signed-off-by:
Nicholas Piggin <npiggin@gmail.com> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Michael Neuling authored
CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 commit 191eccb1 upstream. A new hypervisor call has been defined to communicate various characteristics of the CPU to guests. Add definitions for the hcall number, flags and a wrapper function. Signed-off-by:
Michael Neuling <mikey@neuling.org> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> [Balbir fixed conflicts in backport] Signed-off-by:
Balbir Singh <bsingharora@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Alan Modra authored
BugLink: http://bugs.launchpad.net/bugs/1756121 commit c153693d upstream. PowerPC64 uses the symbol .TOC. much as other targets use _GLOBAL_OFFSET_TABLE_. It identifies the value of the GOT pointer (or in powerpc parlance, the TOC pointer). Global offset tables are generally local to an executable or shared library, or in the kernel, module. Thus it does not make sense for a module to resolve a relocation against .TOC. to the kernel's .TOC. value. A module has its own .TOC., and indeed the powerpc64 module relocation processing ignores the kernel value of .TOC. and instead calculates a module-local value. This patch removes code involved in exporting the kernel .TOC., tweaks modpost to ignore an undefined .TOC., and the module loader to twiddle the section symbol so that .TOC. isn't seen as undefined. Note that if the kernel was compiled with -msingle-pic-base then ELFv2 would not have function global entry code setting up r2. In that case the module call stubs would need to be modified to set up r2 using the kernel .TOC. value, requiring some of this code to be reinstated. mpe: Furthermore a change in binutils master (not yet released) causes the current way we handle the TOC to no longer work when building with MODVERSIONS=y and RELOCATABLE=n. The symptom is that modules can not be loaded due to there being no version found for TOC. Signed-off-by:
Alan Modra <amodra@gmail.com> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Benjamin Herrenschmidt authored
BugLink: http://bugs.launchpad.net/bugs/1756121 commit 5a69aec9 upstream. VSX uses a combination of the old vector registers, the old FP registers and new "second halves" of the FP registers. Thus when we need to see the VSX state in the thread struct (flush_vsx_to_thread()) or when we'll use the VSX in the kernel (enable_kernel_vsx()) we need to ensure they are all flushed into the thread struct if either of them is individually enabled. Unfortunately we only tested if the whole VSX was enabled, not if they were individually enabled. Fixes: 72cd7b44 ("powerpc: Uncomment and make enable_kernel_vsx() routine available") Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> [mpe: Backported due to changed context] Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Oliver O'Halloran authored
BugLink: http://bugs.launchpad.net/bugs/1756121 commit 8f5f525d upstream. When the kernel is compiled to use 64bit ABIv2 the _GLOBAL() macro does not include a global entry point. A function's global entry point is used when the function is called from a different TOC context and in the kernel this typically means a call from a module into the vmlinux (or vice-versa). There are a few exported asm functions declared with _GLOBAL() and calling them from a module will likely crash the kernel since any TOC relative load will yield garbage. flush_icache_range() and flush_dcache_range() are both exported to modules, and use the TOC, so must use _GLOBAL_TOC(). Fixes: 721aeaa9 ("powerpc: Build little endian ppc64 kernel with ABIv2") Signed-off-by:
Oliver O'Halloran <oohall@gmail.com> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Naveen N. Rao authored
BugLink: http://bugs.launchpad.net/bugs/1756121 commit 844e3be4 upstream. Classic BPF JIT was never ported completely to work on little endian powerpc. However, it can be enabled and will crash the system when used. As such, disable use of BPF JIT on ppc64le. Fixes: 7c105b63 ("powerpc: Add CONFIG_CPU_LITTLE_ENDIAN kernel config option.") Reported-by:
Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Signed-off-by:
Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Acked-by:
Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 76b01258. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 8319f6cd. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 03529808. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 341c0f15. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit dad6dc82. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit b9bc93cd. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 2d94edf3. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 0929d8b8. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit e1f3564b. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 00d9e152. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 313e806c. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 5dcadca3. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit d585250a. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit is provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 323c02b0. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
Revert "UBUNTU: SAUCE: Remove setup.h include file otherwise compilation complains about missing header file." This reverts commit 4fc2e0b5. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit cab09201. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit ee71154e. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 88424261. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit c049d338. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 1a65b15b. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit e82cad5f. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit d275a2d6. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 2d8d8a24. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 9fb6d750. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit b6a090d6. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 68ee8a04. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 2a12cf77. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121 The functionality of this commit will be provided by the following upstream patch series: * powerpc/64s: Allow control of RFI flush via debugfs * powerpc/64s: Wire up cpu_show_meltdown() * powerpc/powernv: Check device-tree for RFI flush settings * powerpc/pseries: Query hypervisor for RFI flush settings * powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti * powerpc/64s: Add support for RFI flush of L1-D cache * powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL * powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL * powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL * powerpc/64s: Simple RFI macro conversions * powerpc/64: Add macros for annotating the destination of rfid/hrfid * powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Juerg Haefliger authored
This reverts commit 1a7bb619. CVE-2017-5754 BugLink: http://bugs.launchpad.net/bugs/1756121Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Alexander Duyck authored
BugLink: http://bugs.launchpad.net/bugs/1723127 From what I can tell the practical limitation on the size of the Tx data buffer is the fact that the Tx descriptor is limited to 14 bits. As such we cannot use 16K as is typically used on the other Intel drivers. However artificially limiting ourselves to 8K can be expensive as this means that we will consume up to 10 descriptors (1 context, 1 for header, and 9 for payload, non-8K aligned) in a single send. I propose that we can reduce this by increasing the maximum data for a 4K aligned block to 12K. We can reduce the descriptors used for a 32K aligned block by 1 by increasing the size like this. In addition we still have the 4K - 1 of space that is still unused. We can use this as a bit of extra padding when dealing with data that is not aligned to 4K. By aligning the descriptors after the first to 4K we can improve the efficiency of PCIe accesses as we can avoid using byte enables and can fetch full TLP transactions after the first fetch of the buffer. This helps to improve PCIe efficiency. Below is the results of testing before and after with this patch: Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % U us/KB us/KB Before: 87380 16384 16384 10.00 33682.24 20.27 -1.00 0.592 -1.00 After: 87380 16384 16384 10.00 34204.08 20.54 -1.00 0.590 -1.00 So the net result of this patch is that we have a small gain in throughput due to a reduction in overhead for putting together the frame. Signed-off-by:
Alexander Duyck <aduyck@mirantis.com> Tested-by:
Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry-picked from 5c4654da) Signed-off-by:
Dan Streetman <ddstreet@canonical.com> Acked-by:
Stefan Bader <stefan.bader@canonical.com> Acked-by:
Kleber Sacilotto de Souza <kleber.souza@canonical.com> Signed-off-by:
Kleber Sacilotto de Souza <kleber.souza@canonical.com>
-
Alexander Duyck authored
BugLink: http://bugs.launchpad.net/bugs/1723127 The original code for __i40e_chk_linearize didn't take into account the fact that if a fragment is 16K in size or larger it has to be split over 2 descriptors and the smaller of those 2 descriptors will be on the trailing edge of the transmit. As a result we can get into situations where we didn't catch requests that could result in a Tx hang. This patch takes care of that by subtracting the length of all but the trailing edge of the stale fragment before we test for sum. By doing this we can guarantee that we have all cases covered, including the case of a fragment that spans multiple descriptors. We don't need to worry about checking the inner portions of this since 12K is the maximum aligned DMA size and that is larger than any MSS will ever be since the MTU limit for jumbos is something on the order of 9K. Signed-off-by:
Alexander Duyck <alexander.h.duyck@intel.com> Tested-by:
Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry-picked from 248de22e) Signed-off-by:
Dan Streetman <ddstreet@canonical.com> Acked-by:
Stefan Bader <stefan.bader@canonical.com> Acked-by:
Kleber Sacilotto de Souza <kleber.souza@canonical.com> Signed-off-by:
Kleber Sacilotto de Souza <kleber.souza@canonical.com>
-
Greg Kroah-Hartman authored
BugLink: http://bugs.launchpad.net/bugs/1755509Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Stefan Agner authored
BugLink: http://bugs.launchpad.net/bugs/1755509 commit d593574a upstream. Since clocks are disabled except during message transfer clocks are also disabled when spi_imx_remove gets called. Accessing registers leads to a freeeze at least on a i.MX 6ULL. Enable clocks before disabling accessing the MXC_CSPICTRL register. Fixes: 9e556dcc ("spi: spi-imx: only enable the clocks when we start to transfer a message") Signed-off-by:
Stefan Agner <stefan@agner.ch> Signed-off-by:
Mark Brown <broonie@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Fabio Estevam authored
BugLink: http://bugs.launchpad.net/bugs/1755509 commit 38b1f0fb upstream. The wakeup mechanism via RTSDEN bit relies on the system using the RTS/CTS lines, so only allow such wakeup method when the system actually has RTS/CTS support. Fixes: bc85734b ("serial: imx: allow waking up on RTSD") Signed-off-by:
Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by:
Martin Kaiser <martin@kaiser.cx> Acked-by:
Fugang Duan <fugang.duan@nxp.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-
Mark Salyzyn authored
BugLink: http://bugs.launchpad.net/bugs/1755509 In the absence of commit a4298e45 ("net: add SOCK_RCU_FREE socket flag") and all the associated infrastructure changes to take advantage of a RCU grace period before freeing, there is a heightened possibility that a security check is performed while an ill-timed setsockopt call races in from user space. It then is prudent to null check sk_security, and if the case, reject the permissions. Because of the nature of this problem, hard to duplicate, no clear path, this patch is a simplified band-aid for stable trees lacking the infrastructure for the series of commits leading up to providing a suitable RCU grace period. This adjustment is orthogonal to infrastructure improvements that may nullify the needed check, but could be added as good code hygiene in all trees. general protection fault: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 14233 Comm: syz-executor2 Not tainted 4.4.112-g5f6325b #28 task: ffff8801d1095f00 task.stack: ffff8800b5950000 RIP: 0010:[<ffffffff81b69b7e>] [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069 RSP: 0018:ffff8800b5957ce0 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 1ffff10016b2af9f RCX: ffffffff81b69b51 RDX: 0000000000000002 RSI: 0000000000000000 RDI: 0000000000000010 RBP: ffff8800b5957de0 R08: 0000000000000001 R09: 0000000000000001 R10: 0000000000000000 R11: 1ffff10016b2af68 R12: ffff8800b5957db8 R13: 0000000000000000 R14: ffff8800b7259f40 R15: 00000000000000d7 FS: 00007f72f5ae2700(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000a2fa38 CR3: 00000001d7980000 CR4: 0000000000160670 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: ffffffff81b69a1f ffff8800b5957d58 00008000b5957d30 0000000041b58ab3 ffffffff83fc82f2 ffffffff81b69980 0000000000000246 ffff8801d1096770 ffff8801d3165668 ffffffff8157844b ffff8801d1095f00 ffff880000000001 Call Trace: [<ffffffff81b6a19d>] selinux_socket_setsockopt+0x4d/0x80 security/selinux/hooks.c:4338 [<ffffffff81b4873d>] security_socket_setsockopt+0x7d/0xb0 security/security.c:1257 [<ffffffff82df1ac8>] SYSC_setsockopt net/socket.c:1757 [inline] [<ffffffff82df1ac8>] SyS_setsockopt+0xe8/0x250 net/socket.c:1746 [<ffffffff83776499>] entry_SYSCALL_64_fastpath+0x16/0x92 Code: c2 42 9b b6 81 be 01 00 00 00 48 c7 c7 a0 cb 2b 84 e8 f7 2f 6d ff 49 8d 7d 10 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 83 01 00 00 41 8b 75 10 31 RIP [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069 RSP <ffff8800b5957ce0> ---[ end trace 7b5aaf788fef6174 ]--- Signed-off-by:
Mark Salyzyn <salyzyn@android.com> Acked-by:
Paul Moore <paul@paul-moore.com> Cc: Eric Dumazet <edumazet@google.com> Cc: Stephen Smalley <sds@tycho.nsa.gov> Cc: selinux@tycho.nsa.gov Cc: linux-security-module@vger.kernel.org Cc: Eric Paris <eparis@parisplace.org> Cc: Serge E. Hallyn <serge@hallyn.com> Cc: linux-kernel@vger.kernel.org Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Juerg Haefliger <juergh@canonical.com> Signed-off-by:
Stefan Bader <stefan.bader@canonical.com>
-