Verified Commit 57504e06 authored by A. Wilcox's avatar A. Wilcox
Browse files

Kernel: [CVE] bump to 4.14.127-mc14

parent 018e6807
......@@ -3,8 +3,8 @@
# KEEP THIS IN SYNC with the other easy-kernel packages.
_kflavour=-power8-64k
_pkgname=easy-kernel$_kflavour
pkgver=4.14.88
pkgrel=13
pkgver=4.14.127
pkgrel=14
pkgname=$_pkgname-$pkgver-mc$pkgrel
pkgdesc="The Linux kernel, packaged for POWER8 and POWER9 computers (with 64K page size)"
url="https://kernel.org/"
......@@ -23,8 +23,6 @@ source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgmin
https://distfiles.adelielinux.org/source/linux-${_pkgminver}-mc$pkgrel.patch.xz
ast-endianness.patch
config-ppc64
futex-cmpxchg.patch
ppc64-epapr-gcc8.patch
"
builddir="$srcdir/linux-${_pkgminver}"
......@@ -91,8 +89,6 @@ src() {
}
sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz
bfe606f208894cc572fb98f323e26956c69b4f75febd4a9b500514cbb2aa70bddb2aba05b3f16a5fe52535236b215335f73974324065f80643265f17f281faa6 linux-4.14-mc13.patch.xz
48e0a55cf5b91d0a7e91f950b60afeedc624d7c063b481ce8a13b6362db717171daaeabfaa2de4d9e47b22ef808a6a095b240a61f2b790738d4f6b08aaac9738 linux-4.14-mc14.patch.xz
e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch
85bbbd98e7158213c05463832f133d3f359976e90cbb173c6037e404e9652f1c88ef30ea63bd86b5b2102c0f63023742fa0f915a54b9690c0d97e92432a52b6d config-ppc64
64486a4f53046a69f727cecd8c39400b50c2d2b15e3b5ca8c18b8249d25990f3a872ec064800ba3d190f9d25b4518899b9ea3675920f487108102856d6beb51e futex-cmpxchg.patch
0df4e823e19e8fc379b5ad66192eb3e890daa3dac8d7a9ebbab4cf3c60ce9f15fcc25a54b86b341db53db3d78c928ca5f55933e12eee75680e705cca8a7bdff4 ppc64-epapr-gcc8.patch"
bbc4301d1d737250f3539594ceccc29cc212947f47f1c9b50a9598977820f03750d9136e4ae9a0a6a3ec49b04d2ee14cb9c11ba99ac6a418f737843ce4b6ee93 config-ppc64"
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 4.14.88-mc13 Kernel Configuration
# Linux/powerpc 4.14.127-mc14 Kernel Configuration
#
CONFIG_PPC64=y
......@@ -53,6 +53,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y
CONFIG_PPC=y
CONFIG_PPC_BARRIER_NOSPEC=y
# CONFIG_GENERIC_CSUM is not set
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
......@@ -2055,6 +2056,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -2105,7 +2107,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_POWERNV=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
......@@ -4002,6 +4003,7 @@ CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 9f2b75f..d75d8ea 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -190,6 +190,7 @@ config PPC
select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER
+ select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_GCC_PLUGINS
select HAVE_GENERIC_GUP
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
From 186b8f1587c79c2fa04bfa392fdf084443e398c1 Mon Sep 17 00:00:00 2001
From: Seth Forshee <seth.forshee@canonical.com>
Date: Thu, 28 Sep 2017 09:33:39 -0400
Subject: powerpc: Always initialize input array when calling epapr_hypercall()
Several callers to epapr_hypercall() pass an uninitialized stack
allocated array for the input arguments, presumably because they
have no input arguments. However this can produce errors like
this one
arch/powerpc/include/asm/epapr_hcalls.h:470:42: error: 'in' may be used uninitialized in this function [-Werror=maybe-uninitialized]
unsigned long register r3 asm("r3") = in[0];
~~^~~
Fix callers to this function to always zero-initialize the input
arguments array to prevent this.
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
arch/powerpc/include/asm/epapr_hcalls.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index 334459ad145b..90863245df53 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -508,7 +508,7 @@ static unsigned long epapr_hypercall(unsigned long *in,
static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
unsigned long r;
@@ -520,7 +520,7 @@ static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
static inline long epapr_hypercall0(unsigned int nr)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
return epapr_hypercall(in, out, nr);
@@ -528,7 +528,7 @@ static inline long epapr_hypercall0(unsigned int nr)
static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -538,7 +538,7 @@ static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
unsigned long p2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -549,7 +549,7 @@ static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
static inline long epapr_hypercall3(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -562,7 +562,7 @@ static inline long epapr_hypercall4(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3,
unsigned long p4)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
--
cgit 1.2-0.3.lf.el7
......@@ -3,8 +3,8 @@
# KEEP THIS IN SYNC with the other easy-kernel packages.
_kflavour=-power8
_pkgname=easy-kernel$_kflavour
pkgver=4.14.88
pkgrel=13
pkgver=4.14.127
pkgrel=14
pkgname=$_pkgname-$pkgver-mc$pkgrel
pkgdesc="The Linux kernel, packaged for POWER8 and POWER9 computers"
url="https://kernel.org/"
......@@ -23,8 +23,6 @@ source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgmin
https://distfiles.adelielinux.org/source/linux-${_pkgminver}-mc$pkgrel.patch.xz
ast-endianness.patch
config-ppc64
futex-cmpxchg.patch
ppc64-epapr-gcc8.patch
"
builddir="$srcdir/linux-${_pkgminver}"
......@@ -91,8 +89,6 @@ src() {
}
sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz
bfe606f208894cc572fb98f323e26956c69b4f75febd4a9b500514cbb2aa70bddb2aba05b3f16a5fe52535236b215335f73974324065f80643265f17f281faa6 linux-4.14-mc13.patch.xz
48e0a55cf5b91d0a7e91f950b60afeedc624d7c063b481ce8a13b6362db717171daaeabfaa2de4d9e47b22ef808a6a095b240a61f2b790738d4f6b08aaac9738 linux-4.14-mc14.patch.xz
e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch
eae009c8ca87041d3daa000c406196564ff4773186fa69fb3d85f63739093f6ef1cd42dc441561cf6af64ae8a375fc747fbb82a13f389a98b50d066cc6613e4f config-ppc64
64486a4f53046a69f727cecd8c39400b50c2d2b15e3b5ca8c18b8249d25990f3a872ec064800ba3d190f9d25b4518899b9ea3675920f487108102856d6beb51e futex-cmpxchg.patch
0df4e823e19e8fc379b5ad66192eb3e890daa3dac8d7a9ebbab4cf3c60ce9f15fcc25a54b86b341db53db3d78c928ca5f55933e12eee75680e705cca8a7bdff4 ppc64-epapr-gcc8.patch"
2e2c4873ef3ecbb4f593c3e6771f5ba3fa80a12c5feda9129044eb94209a26ed093cc78ffda01455acf80860e7c3e8aa353c08f1b3ba2addd46f9772370e7b5c config-ppc64"
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 4.14.88-mc13 Kernel Configuration
# Linux/powerpc 4.14.127-mc14 Kernel Configuration
#
CONFIG_PPC64=y
......@@ -53,6 +53,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y
CONFIG_PPC=y
CONFIG_PPC_BARRIER_NOSPEC=y
# CONFIG_GENERIC_CSUM is not set
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
......@@ -2054,6 +2055,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -2104,7 +2106,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_POWERNV=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
......@@ -4001,6 +4002,7 @@ CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 9f2b75f..d75d8ea 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -190,6 +190,7 @@ config PPC
select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER
+ select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_GCC_PLUGINS
select HAVE_GENERIC_GUP
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
From 186b8f1587c79c2fa04bfa392fdf084443e398c1 Mon Sep 17 00:00:00 2001
From: Seth Forshee <seth.forshee@canonical.com>
Date: Thu, 28 Sep 2017 09:33:39 -0400
Subject: powerpc: Always initialize input array when calling epapr_hypercall()
Several callers to epapr_hypercall() pass an uninitialized stack
allocated array for the input arguments, presumably because they
have no input arguments. However this can produce errors like
this one
arch/powerpc/include/asm/epapr_hcalls.h:470:42: error: 'in' may be used uninitialized in this function [-Werror=maybe-uninitialized]
unsigned long register r3 asm("r3") = in[0];
~~^~~
Fix callers to this function to always zero-initialize the input
arguments array to prevent this.
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
arch/powerpc/include/asm/epapr_hcalls.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index 334459ad145b..90863245df53 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -508,7 +508,7 @@ static unsigned long epapr_hypercall(unsigned long *in,
static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
unsigned long r;
@@ -520,7 +520,7 @@ static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
static inline long epapr_hypercall0(unsigned int nr)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
return epapr_hypercall(in, out, nr);
@@ -528,7 +528,7 @@ static inline long epapr_hypercall0(unsigned int nr)
static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -538,7 +538,7 @@ static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
unsigned long p2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -549,7 +549,7 @@ static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
static inline long epapr_hypercall3(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -562,7 +562,7 @@ static inline long epapr_hypercall4(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3,
unsigned long p4)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
--
cgit 1.2-0.3.lf.el7
diff -Naur --no-dereference linux-4.14-mc13/kernel/sched/MuQSS.c linux-4.14-muqss-resync/kernel/sched/MuQSS.c
--- linux-4.14-mc13/kernel/sched/MuQSS.c 2018-12-17 13:58:41.877371296 +1100
+++ linux-4.14-muqss-resync/kernel/sched/MuQSS.c 2018-12-27 21:35:04.897927669 +1100
@@ -188,6 +188,10 @@
struct rq *uprq;
#endif /* CONFIG_SMP */
+#ifdef CONFIG_SCHED_SMT /* This fixes a regression as of 4.14.84 and 4.19.7 which breaks the kernel build if either SMP or MuQSS is enabled */
+DEFINE_STATIC_KEY_FALSE(sched_smt_present);
+#endif
+
#include "stats.h"
#ifndef prepare_arch_switch
......@@ -3,8 +3,8 @@
# KEEP THIS IN SYNC with the other easy-kernel packages.
_kflavour=""
_pkgname=easy-kernel$_kflavour
pkgver=4.14.88
pkgrel=13
pkgver=4.14.127
pkgrel=14
pkgname=$_pkgname-$pkgver-mc$pkgrel
pkgdesc="The Linux kernel, packaged for your convenience"
url="https://kernel.org/"
......@@ -21,7 +21,6 @@ _pkgmajver=${pkgver%%.*}
_pkgminver=${pkgver%.*}
source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgminver}.tar.xz
https://distfiles.adelielinux.org/source/linux-${_pkgminver}-mc$pkgrel.patch.xz
0502-muqss-smt-fix.patch
ast-endianness.patch
config-ppc64
config-ppc
......@@ -30,10 +29,7 @@ source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgmin
config-aarch64
config-sparc64
config-m68k
futex-cmpxchg.patch
kernel.h
ppc64-epapr-gcc8.patch
uapi-ether.patch
"
builddir="$srcdir/linux-${_pkgminver}"
......@@ -133,17 +129,13 @@ src() {
}
sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz
bfe606f208894cc572fb98f323e26956c69b4f75febd4a9b500514cbb2aa70bddb2aba05b3f16a5fe52535236b215335f73974324065f80643265f17f281faa6 linux-4.14-mc13.patch.xz
6ede43cf169e79d8a08f7a9d79bb4bdf15618ec450b42a67a53a75bc5f5cb4d5a8c82d2b95c27a80567999876d103091bc104104f0494ca34707b5ccae5da725 0502-muqss-smt-fix.patch
48e0a55cf5b91d0a7e91f950b60afeedc624d7c063b481ce8a13b6362db717171daaeabfaa2de4d9e47b22ef808a6a095b240a61f2b790738d4f6b08aaac9738 linux-4.14-mc14.patch.xz
e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch
19be54c3f635cca893b668987e5db6931e48ea8ee55fe8ba2fc9103f3f116346f2227d3dadb9fbf13b3444c7085e5db5785d3161a1544d37254403ca90bc757a config-ppc64
e9ad73259f2138c1c1506c1627b8f42a525505a1d16ca4cdc1dad4a381a462d9946f2a8191c40ee18fe5010fb8465316d665f60231fb79f0be9cc064eeb82b60 config-ppc
124baf02726630f8ad3c066cdcb5b0273b6c0ce796af70a0913cb447cd452f4dde34b2070c5fe87c312cbe019cb1c1b334ae3049f429cfb3bcdec7267aba89fd config-x86_64
bb7debbed592c27fd6aceeeab0f92fb878740b34f3c65b7968008c3209924d0daf484509572d350ce2ec757d3a541c50812b30c1a8c3010eaeeac5e560546927 config-pmmx
20d0e09d339d534ce93c156e1e2c630da2bc55e88467481b8e89074773a3ebabba76503a05c51ad07ffa0219953b49f5849f0d9839bfe040dc006506c8adb3bb config-aarch64
d9e6780c03ce82c7de63e3571d4b1530a2c078db86efb904281b497dae5e46c80696a85f6c82470e47eaafedaf4942c88e910b266dc7ea0be77b8bca25cafe9c config-sparc64
3fcd139fae7835f8aeea89430e4fda8d93b803abdfeb937f07ce5437362340337849f56e40614e20dc21aa23d522c4702194054e4f6114b3b94685e3a98f0d19 config-m68k
64486a4f53046a69f727cecd8c39400b50c2d2b15e3b5ca8c18b8249d25990f3a872ec064800ba3d190f9d25b4518899b9ea3675920f487108102856d6beb51e futex-cmpxchg.patch
fdd94b9de7b374f1812dec0f9971c05f5e52177ca4a16c8071daa620c18265b38f656f528e7045a24f30af01f05e53e54546fb0a9e93773cf191866e87de505d kernel.h
0df4e823e19e8fc379b5ad66192eb3e890daa3dac8d7a9ebbab4cf3c60ce9f15fcc25a54b86b341db53db3d78c928ca5f55933e12eee75680e705cca8a7bdff4 ppc64-epapr-gcc8.patch
af093e91e8c8371629948e2e574f8764078564bc027ba5b2f87886f8827d9a63ba7a43717552fe7e3cc9212b2fd55b8633b12900c3d8cdc6c035d52b389c39e5 uapi-ether.patch"
5566ca7a3070183650688b02a52ba7d72f835929ec273cb5c38fd37671c0c8d08f96ac3b59a994b94078498fb421fca3f5c069168812d1d6cf0e0c79b6232d39 config-ppc64
e959b84a16af211e2c2e91d098ba8132e11204ae8a3f6d0823b0df169f955865dbe804fe0a6e9ed22b3079ac5e6e3609f90fea84450f405dbb704d016d70519d config-ppc
f95ec4f3ebe937eee264f725d39a3982f44c3ae41ee5009ace0d80700444b1b02887f376389813ace170d75df248fb42bc2af414838aec431e6934dd96dd6cf7 config-x86_64
b12e4604ea4c13014e6a20e1b6c3d239be1fc19b67fc8fee3c8c48d84f18692a9469dd264ce6fad72c1c415f88c49f9836ee62e7e832c4bc22fc5d0563b8cb15 config-pmmx
ee290df60001fc4b66d2b61e51e23f9e975fa6c777c4ae701cc5803398c01e0143ee326d558c4f0da334817ee26ee100e0b0ece4dc595881c2c2dc856bcc4686 config-aarch64
e18f7818b67b9aa5acfcfc5a59836c5b115bf56f7e003bedd425403574276ad17613e8a6518f011c956c46fa71331c662eea9746a6f014c4c9c6b8f3487f3460 config-sparc64
6594f07d9d741c37ced99ce1bd9a9c10f0fb2f1a44e64da318d9350a8f6bb69b004382bd66e1a08baf8e581e7eeffb37488cfb6002ab61b0e7c8474afcae1a29 config-m68k
fdd94b9de7b374f1812dec0f9971c05f5e52177ca4a16c8071daa620c18265b38f656f528e7045a24f30af01f05e53e54546fb0a9e93773cf191866e87de505d kernel.h"
......@@ -2277,6 +2277,7 @@ CONFIG_LEGACY_PTY_COUNT=16
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
#
......
......@@ -1404,6 +1404,7 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -2165,6 +2166,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
......@@ -2852,6 +2852,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -5695,6 +5696,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
......@@ -2311,6 +2311,7 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -4438,6 +4439,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 4.14.88-mc13 Kernel Configuration
# Linux/powerpc 4.14.127-mc14 Kernel Configuration
#
CONFIG_PPC64=y
......@@ -53,6 +53,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y
CONFIG_PPC=y
CONFIG_PPC_BARRIER_NOSPEC=y
# CONFIG_GENERIC_CSUM is not set
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
......@@ -2098,6 +2099,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -2148,7 +2150,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_POWERNV=m
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
......@@ -4053,6 +4054,7 @@ CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
......@@ -1821,6 +1821,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_VCC is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -3753,6 +3754,7 @@ CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
......@@ -3196,6 +3196,7 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
......@@ -6147,6 +6148,7 @@ CONFIG_CEPH_FS=m
CONFIG_CEPH_FS_POSIX_ACL=y
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
......
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 9f2b75f..d75d8ea 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -190,6 +190,7 @@ config PPC
select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER
+ select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_GCC_PLUGINS
select HAVE_GENERIC_GUP
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
From 186b8f1587c79c2fa04bfa392fdf084443e398c1 Mon Sep 17 00:00:00 2001
From: Seth Forshee <seth.forshee@canonical.com>
Date: Thu, 28 Sep 2017 09:33:39 -0400
Subject: powerpc: Always initialize input array when calling epapr_hypercall()
Several callers to epapr_hypercall() pass an uninitialized stack
allocated array for the input arguments, presumably because they
have no input arguments. However this can produce errors like
this one
arch/powerpc/include/asm/epapr_hcalls.h:470:42: error: 'in' may be used uninitialized in this function [-Werror=maybe-uninitialized]
unsigned long register r3 asm("r3") = in[0];
~~^~~
Fix callers to this function to always zero-initialize the input
arguments array to prevent this.
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
arch/powerpc/include/asm/epapr_hcalls.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index 334459ad145b..90863245df53 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -508,7 +508,7 @@ static unsigned long epapr_hypercall(unsigned long *in,
static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
unsigned long r;
@@ -520,7 +520,7 @@ static inline long epapr_hypercall0_1(unsigned int nr, unsigned long *r2)
static inline long epapr_hypercall0(unsigned int nr)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
return epapr_hypercall(in, out, nr);
@@ -528,7 +528,7 @@ static inline long epapr_hypercall0(unsigned int nr)
static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -538,7 +538,7 @@ static inline long epapr_hypercall1(unsigned int nr, unsigned long p1)
static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
unsigned long p2)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -549,7 +549,7 @@ static inline long epapr_hypercall2(unsigned int nr, unsigned long p1,
static inline long epapr_hypercall3(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];
in[0] = p1;
@@ -562,7 +562,7 @@ static inline long epapr_hypercall4(unsigned int nr, unsigned long p1,
unsigned long p2, unsigned long p3,
unsigned long p4)
{
- unsigned long in[8];
+ unsigned long in[8] = {0};
unsigned long out[8];