diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-05-03 06:53:14 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-05-03 06:53:14 +0200 |
commit | 8e5529904b320cd18ae6ddff2df983477cf38a75 (patch) | |
tree | 2a15e2d478cce8c2192847f3119067589a4178ef | |
parent | 6bdfa296cf372e1d3cb8f8dcb90f1bcf613f241b (diff) | |
parent | 127e4b3348b71c5d01644520848a9f628d962860 (diff) | |
download | kernel-4.16.7-150.vanilla.knurd.1.fc26.tar.gz kernel-4.16.7-150.vanilla.knurd.1.fc26.tar.xz kernel-4.16.7-150.vanilla.knurd.1.fc26.zip |
27 files changed, 223 insertions, 296 deletions
diff --git a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch deleted file mode 100644 index 24302d2ec..000000000 --- a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 991b5e95d4fe7778c8f5e7d7f478d01134d51ca7 Mon Sep 17 00:00:00 2001 -From: Laura Abbott <labbott@redhat.com> -Date: Wed, 14 Mar 2018 14:20:02 -0700 -Subject: [PATCH] Temporarily work around gcc aliasing warning/error - -Signed-off-by: Laura Abbott <labbott@redhat.com> ---- - tools/lib/str_error_r.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tools/lib/str_error_r.c b/tools/lib/str_error_r.c -index d6d65537b0d9..c0ede4f6adae 100644 ---- a/tools/lib/str_error_r.c -+++ b/tools/lib/str_error_r.c -@@ -21,7 +21,8 @@ - char *str_error_r(int errnum, char *buf, size_t buflen) - { - int err = strerror_r(errnum, buf, buflen); -+ void *temp = buf; - if (err) -- snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err); -+ snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, temp, buflen, err); - return buf; - } --- -2.16.2 - diff --git a/Revert-random-fix-crng_ready-test.patch b/Revert-random-fix-crng_ready-test.patch deleted file mode 100644 index 95d972e73..000000000 --- a/Revert-random-fix-crng_ready-test.patch +++ /dev/null @@ -1,66 +0,0 @@ -From ee203f9d1d02d7c3f1204a057517a632002edb7b Mon Sep 17 00:00:00 2001 -From: Jeremy Cline <jeremy@jcline.org> -Date: Tue, 1 May 2018 14:32:05 -0400 -Subject: [PATCH] Revert "random: fix crng_ready() test" - -This reverts commit cd8d7a5778a4abf76ee8fe8f1bfcf78976029f8d. - -This is a short-term solution to rhbz 1572944. - -Signed-off-by: Jeremy Cline <jeremy@jcline.org> ---- - drivers/char/random.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/drivers/char/random.c b/drivers/char/random.c -index 38729baed6ee..7670e81bb0b9 100644 ---- a/drivers/char/random.c -+++ b/drivers/char/random.c -@@ -427,7 +427,7 @@ struct crng_state primary_crng = { - * its value (from 0->1->2). - */ - static int crng_init = 0; --#define crng_ready() (likely(crng_init > 1)) -+#define crng_ready() (likely(crng_init > 0)) - static int crng_init_cnt = 0; - static unsigned long crng_global_init_time = 0; - #define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE) -@@ -798,7 +798,7 @@ static int crng_fast_load(const char *cp, size_t len) - - if (!spin_trylock_irqsave(&primary_crng.lock, flags)) - return 0; -- if (crng_init != 0) { -+ if (crng_ready()) { - spin_unlock_irqrestore(&primary_crng.lock, flags); - return 0; - } -@@ -905,7 +905,7 @@ static void _extract_crng(struct crng_state *crng, - { - unsigned long v, flags; - -- if (crng_ready() && -+ if (crng_init > 1 && - (time_after(crng_global_init_time, crng->init_time) || - time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))) - crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL); -@@ -1190,7 +1190,7 @@ void add_interrupt_randomness(int irq, int irq_flags) - fast_mix(fast_pool); - add_interrupt_bench(cycles); - -- if (unlikely(crng_init == 0)) { -+ if (!crng_ready()) { - if ((fast_pool->count >= 64) && - crng_fast_load((char *) fast_pool->pool, - sizeof(fast_pool->pool))) { -@@ -2272,7 +2272,7 @@ void add_hwgenerator_randomness(const char *buffer, size_t count, - { - struct entropy_store *poolp = &input_pool; - -- if (unlikely(crng_init == 0)) { -+ if (!crng_ready()) { - crng_fast_load(buffer, count); - return; - } --- -2.17.0 - diff --git a/Revert-the-random-series-for-4.16.4.patch b/Revert-the-random-series-for-4.16.4.patch new file mode 100644 index 000000000..f410fd310 --- /dev/null +++ b/Revert-the-random-series-for-4.16.4.patch @@ -0,0 +1,160 @@ +From 5744a0927df22f46e4b7f134b3dfb405fdfcf6ce Mon Sep 17 00:00:00 2001 +From: Jeremy Cline <jeremy@jcline.org> +Date: Wed, 2 May 2018 15:16:29 -0400 +Subject: [PATCH 1/2] Revert "random: use a different mixing algorithm for + add_device_randomness()" + +This reverts commit 89b59f050347d376c2ace8b1ceb908a218cfdc2e. + +Signed-off-by: Jeremy Cline <jeremy@jcline.org> +--- + drivers/char/random.c | 55 ++++--------------------------------------- + 1 file changed, 4 insertions(+), 51 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 8f4e11842c60..aa5b04af86c6 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -831,10 +831,6 @@ static void numa_crng_init(void) + static void numa_crng_init(void) {} + #endif + +-/* +- * crng_fast_load() can be called by code in the interrupt service +- * path. So we can't afford to dilly-dally. +- */ + static int crng_fast_load(const char *cp, size_t len) + { + unsigned long flags; +@@ -861,51 +857,6 @@ static int crng_fast_load(const char *cp, size_t len) + return 1; + } + +-/* +- * crng_slow_load() is called by add_device_randomness, which has two +- * attributes. (1) We can't trust the buffer passed to it is +- * guaranteed to be unpredictable (so it might not have any entropy at +- * all), and (2) it doesn't have the performance constraints of +- * crng_fast_load(). +- * +- * So we do something more comprehensive which is guaranteed to touch +- * all of the primary_crng's state, and which uses a LFSR with a +- * period of 255 as part of the mixing algorithm. Finally, we do +- * *not* advance crng_init_cnt since buffer we may get may be something +- * like a fixed DMI table (for example), which might very well be +- * unique to the machine, but is otherwise unvarying. +- */ +-static int crng_slow_load(const char *cp, size_t len) +-{ +- unsigned long flags; +- static unsigned char lfsr = 1; +- unsigned char tmp; +- unsigned i, max = CHACHA20_KEY_SIZE; +- const char * src_buf = cp; +- char * dest_buf = (char *) &primary_crng.state[4]; +- +- if (!spin_trylock_irqsave(&primary_crng.lock, flags)) +- return 0; +- if (crng_init != 0) { +- spin_unlock_irqrestore(&primary_crng.lock, flags); +- return 0; +- } +- if (len > max) +- max = len; +- +- for (i = 0; i < max ; i++) { +- tmp = lfsr; +- lfsr >>= 1; +- if (tmp & 1) +- lfsr ^= 0xE1; +- tmp = dest_buf[i % CHACHA20_KEY_SIZE]; +- dest_buf[i % CHACHA20_KEY_SIZE] ^= src_buf[i % len] ^ lfsr; +- lfsr += (tmp << 3) | (tmp >> 5); +- } +- spin_unlock_irqrestore(&primary_crng.lock, flags); +- return 1; +-} +- + static void crng_reseed(struct crng_state *crng, struct entropy_store *r) + { + unsigned long flags; +@@ -1089,8 +1040,10 @@ void add_device_randomness(const void *buf, unsigned int size) + unsigned long time = random_get_entropy() ^ jiffies; + unsigned long flags; + +- if (!crng_ready() && size) +- crng_slow_load(buf, size); ++ if (!crng_ready()) { ++ crng_fast_load(buf, size); ++ return; ++ } + + trace_add_device_randomness(size, _RET_IP_); + spin_lock_irqsave(&input_pool.lock, flags); +-- +2.17.0 + +From e1b1b5b62740b0e6ea8258a4eb81b2a336538fed Mon Sep 17 00:00:00 2001 +From: Jeremy Cline <jeremy@jcline.org> +Date: Wed, 2 May 2018 15:18:03 -0400 +Subject: [PATCH 2/2] Revert "random: fix crng_ready() test" + +This reverts commit cd8d7a5778a4abf76ee8fe8f1bfcf78976029f8d. + +Signed-off-by: Jeremy Cline <jeremy@jcline.org> +--- + drivers/char/random.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index aa5b04af86c6..ef05cc685b74 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -428,7 +428,7 @@ struct crng_state primary_crng = { + * its value (from 0->1->2). + */ + static int crng_init = 0; +-#define crng_ready() (likely(crng_init > 1)) ++#define crng_ready() (likely(crng_init > 0)) + static int crng_init_cnt = 0; + static unsigned long crng_global_init_time = 0; + #define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE) +@@ -838,7 +838,7 @@ static int crng_fast_load(const char *cp, size_t len) + + if (!spin_trylock_irqsave(&primary_crng.lock, flags)) + return 0; +- if (crng_init != 0) { ++ if (crng_ready()) { + spin_unlock_irqrestore(&primary_crng.lock, flags); + return 0; + } +@@ -913,7 +913,7 @@ static void _extract_crng(struct crng_state *crng, + { + unsigned long v, flags; + +- if (crng_ready() && ++ if (crng_init > 1 && + (time_after(crng_global_init_time, crng->init_time) || + time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))) + crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL); +@@ -1200,7 +1200,7 @@ void add_interrupt_randomness(int irq, int irq_flags) + fast_mix(fast_pool); + add_interrupt_bench(cycles); + +- if (unlikely(crng_init == 0)) { ++ if (!crng_ready()) { + if ((fast_pool->count >= 64) && + crng_fast_load((char *) fast_pool->pool, + sizeof(fast_pool->pool))) { +@@ -2269,7 +2269,7 @@ void add_hwgenerator_randomness(const char *buffer, size_t count, + { + struct entropy_store *poolp = &input_pool; + +- if (unlikely(crng_init == 0)) { ++ if (!crng_ready()) { + crng_fast_load(buffer, count); + return; + } +-- +2.17.0 + diff --git a/baseconfig/CONFIG_HW_RANDOM_VIRTIO b/baseconfig/CONFIG_HW_RANDOM_VIRTIO index 1b31e5535..ec44b8453 100644 --- a/baseconfig/CONFIG_HW_RANDOM_VIRTIO +++ b/baseconfig/CONFIG_HW_RANDOM_VIRTIO @@ -1 +1 @@ -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y diff --git a/baseconfig/CONFIG_VIRTIO b/baseconfig/CONFIG_VIRTIO new file mode 100644 index 000000000..300572920 --- /dev/null +++ b/baseconfig/CONFIG_VIRTIO @@ -0,0 +1 @@ +CONFIG_VIRTIO=y diff --git a/baseconfig/CONFIG_VIRTIO_PCI b/baseconfig/CONFIG_VIRTIO_PCI index 58505d3a5..902a03720 100644 --- a/baseconfig/CONFIG_VIRTIO_PCI +++ b/baseconfig/CONFIG_VIRTIO_PCI @@ -1 +1 @@ -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config index 9c98691a1..dcf76bf48 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -2046,7 +2046,7 @@ CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM_XGENE=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_QCOM=m @@ -6509,8 +6509,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-aarch64.config b/kernel-aarch64.config index e71d019c2..f63520523 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -2028,7 +2028,7 @@ CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM_XGENE=m CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_QCOM=m @@ -6485,8 +6485,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index 266d5886b..9154543c1 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -2169,7 +2169,7 @@ CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_ST=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_OMAP=m CONFIG_HWSPINLOCK_QCOM=m @@ -7052,8 +7052,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config index 662f28536..a6a78c269 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug.config @@ -2061,7 +2061,7 @@ CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6601,8 +6601,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config index 6b8f003e7..41b9b46b1 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae.config @@ -2043,7 +2043,7 @@ CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6577,8 +6577,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index 012edee0b..1567d182d 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -2151,7 +2151,7 @@ CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_ST=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_OMAP=m CONFIG_HWSPINLOCK_QCOM=m @@ -7028,8 +7028,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config index a4317c76e..a36f4a3c0 100644 --- a/kernel-i686-PAE.config +++ b/kernel-i686-PAE.config @@ -1899,7 +1899,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6068,8 +6068,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config index 8ca62cf0d..3035a34f6 100644 --- a/kernel-i686-PAEdebug.config +++ b/kernel-i686-PAEdebug.config @@ -1918,7 +1918,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6091,8 +6091,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index 277984414..652d67af2 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -1918,7 +1918,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6091,8 +6091,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-i686.config b/kernel-i686.config index 491b139fd..26c13570a 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -1899,7 +1899,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6068,8 +6068,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config index a1f875f0e..ca4feb2a2 100644 --- a/kernel-ppc64-debug.config +++ b/kernel-ppc64-debug.config @@ -1812,7 +1812,7 @@ CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5852,8 +5852,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-ppc64.config b/kernel-ppc64.config index 63ba67709..f853c3adf 100644 --- a/kernel-ppc64.config +++ b/kernel-ppc64.config @@ -1793,7 +1793,7 @@ CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5827,8 +5827,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config index b5ad93adf..f308c7070 100644 --- a/kernel-ppc64le-debug.config +++ b/kernel-ppc64le-debug.config @@ -1764,7 +1764,7 @@ CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5780,8 +5780,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config index 1aa8d06c1..156a829a8 100644 --- a/kernel-ppc64le.config +++ b/kernel-ppc64le.config @@ -1745,7 +1745,7 @@ CONFIG_HW_RANDOM_POWERNV=m CONFIG_HW_RANDOM_PSERIES=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5755,8 +5755,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config index b66e453e2..4510913f6 100644 --- a/kernel-s390x-debug.config +++ b/kernel-s390x-debug.config @@ -1727,7 +1727,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5673,8 +5673,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-s390x.config b/kernel-s390x.config index d7ed5474b..63b5f359b 100644 --- a/kernel-s390x.config +++ b/kernel-s390x.config @@ -1708,7 +1708,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_S390=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -5648,8 +5648,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 032cf6b0c..4926a7ad2 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -1961,7 +1961,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6183,8 +6183,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 96ee0a47d..2d65de2f7 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -1942,7 +1942,7 @@ CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_TPM=y CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set @@ -6160,8 +6160,9 @@ CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO=y CONFIG_VIRTUALIZATION=y CONFIG_VITESSE_PHY=m CONFIG_VL6180=m diff --git a/kernel.spec b/kernel.spec index 778744aa8..6f814c146 100644 --- a/kernel.spec +++ b/kernel.spec @@ -45,7 +45,7 @@ Summary: The Linux kernel # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # %global baserelease 150 -global fedora_build %{baserelease} +%global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, @@ -511,9 +511,6 @@ Patch001: kbuild-AFTER_LINK.patch # ongoing complaint, full discussion delayed until ksummit/plumbers Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch -# gcc -Werror=aliasing workaround -Patch003: 0001-Temporarily-work-around-gcc-aliasing-warning-error.patch - %if !%{nopatches} # Git trees. @@ -663,14 +660,11 @@ Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch # rhbz 1549316 Patch504: ipmi-fixes.patch -# rhbz 1565131 -Patch507: xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch - # rhbz 1514836 Patch508: Bluetooth-btusb-autosuspend-XPS-13-9360-fixes.patch # rhbz 1572944 -Patch509: Revert-random-fix-crng_ready-test.patch +Patch509: Revert-the-random-series-for-4.16.4.patch # END OF PATCH DEFINITIONS @@ -1947,6 +1941,10 @@ fi # # %changelog +* Wed May 02 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.7-100 +- Linux v4.16.7 +- Revert a second patch related to CVE-2018-1108 4.16.4 (rhbz 1572944) + * Tue May 01 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.6-101 - Revert the fix for CVE-2018-1108 (rhbz 1572944) diff --git a/mvebu-a37xx-fixes.patch b/mvebu-a37xx-fixes.patch index c4390ccfe..0c04e8b00 100644 --- a/mvebu-a37xx-fixes.patch +++ b/mvebu-a37xx-fixes.patch @@ -1,65 +1,3 @@ -From patchwork Sun Apr 22 12:33:46 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: serial: mvebu-uart: Fix local flags handling on termios update -From: Marc Zyngier <Marc.Zyngier@arm.com> -X-Patchwork-Id: 10354521 -Message-Id: <20180422123346.15538-1-marc.zyngier@arm.com> -To: linux-arm-kernel@lists.infradead.org, - linux-kernel@vger.kernel.org -Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>, - Allen Yan <yanwei@marvell.com>, - Greg Kroah-Hartman <gregkh@linuxfoundation.org>, - Miquel Raynal <miquel.raynal@free-electrons.com> -Date: Sun, 22 Apr 2018 13:33:46 +0100 - -Commit 68a0db1d7da2 reworked the baud rate selection, but also added -a (not so) subtle change in the way the local flags (c_lflag in the -termios structure) are handled, forcing the new flags to always be the -same as the old ones. - -The reason for that particular change is both obscure and undocumented. -It also completely breaks userspace. Something as trivial as getty is -unusable: - -<example> - Debian GNU/Linux 9 sy-borg ttyMV0 - - sy-borg login: root - root - [timeout] - - Debian GNU/Linux 9 sy-borg ttyMV0 -</example> - -which is quite obvious in retrospect: getty cannot get in control of -the echo mode, is stuck in canonical mode, and times out without ever -seeing anything valid. It also begs the question of how this change was -ever tested. - -The fix is pretty obvious: stop messing with c_lflag, and the world -will be a happier place. - -Cc: stable@vger.kernel.org # 4.15+ -Fixes: 68a0db1d7da2 ("serial: mvebu-uart: add function to change baudrate") -Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> ---- - drivers/tty/serial/mvebu-uart.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c -index 750e5645dc85..f503fab1e268 100644 ---- a/drivers/tty/serial/mvebu-uart.c -+++ b/drivers/tty/serial/mvebu-uart.c -@@ -495,7 +495,6 @@ static void mvebu_uart_set_termios(struct uart_port *port, - termios->c_iflag |= old->c_iflag & ~(INPCK | IGNPAR); - termios->c_cflag &= CREAD | CBAUD; - termios->c_cflag |= old->c_cflag & ~(CREAD | CBAUD); -- termios->c_lflag = old->c_lflag; - } - - spin_unlock_irqrestore(&port->lock, flags); From patchwork Sun Mar 25 19:57:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 diff --git a/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch b/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch deleted file mode 100644 index 96fb5e110..000000000 --- a/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch +++ /dev/null @@ -1,95 +0,0 @@ -From patchwork Fri Apr 13 12:55:34 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: xhci: Fix Kernel oops in xhci dbgtty -From: Mathias Nyman <mathias.nyman@linux.intel.com> -X-Patchwork-Id: 10340045 -Message-Id: <1523624134-29224-1-git-send-email-mathias.nyman@linux.intel.com> -To: <gregkh@linuxfoundation.org> -Cc: <linux-usb@vger.kernel.org>, Zhengjun Xing <zhengjun.xing@linux.intel.com>, - "# 4 . 16" <stable@vger.kernel.org>, - Mathias Nyman <mathias.nyman@linux.intel.com> -Date: Fri, 13 Apr 2018 15:55:34 +0300 - -From: Zhengjun Xing <zhengjun.xing@linux.intel.com> - -tty_unregister_driver may be called more than 1 time in some -hotplug cases,it will cause the kernel oops. This patch checked -dbc_tty_driver to make sure it is unregistered only 1 time. - -[ 175.741404] BUG: unable to handle kernel NULL pointer dereference at 0000000000000034 -[ 175.742309] IP: tty_unregister_driver+0x9/0x70 -[ 175.743148] PGD 0 P4D 0 -[ 175.743981] Oops: 0000 [#1] SMP PTI -[ 175.753904] RIP: 0010:tty_unregister_driver+0x9/0x70 -[ 175.754817] RSP: 0018:ffffa8ff831d3bb0 EFLAGS: 00010246 -[ 175.755753] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 -[ 175.756685] RDX: ffff92089c616000 RSI: ffffe64fe1b26080 RDI: 0000000000000000 -[ 175.757608] RBP: ffff92086c988230 R08: 000000006c982701 R09: 00000001801e0016 -[ 175.758533] R10: ffffa8ff831d3b48 R11: ffff92086c982100 R12: ffff92086c98827c -[ 175.759462] R13: ffff92086c988398 R14: 0000000000000060 R15: ffff92089c5e9b40 -[ 175.760401] FS: 0000000000000000(0000) GS:ffff9208a0100000(0000) knlGS:0000000000000000 -[ 175.761334] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ 175.762270] CR2: 0000000000000034 CR3: 000000011800a003 CR4: 00000000003606e0 -[ 175.763225] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 -[ 175.764164] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 -[ 175.765091] Call Trace: -[ 175.766014] xhci_dbc_tty_unregister_driver+0x11/0x30 -[ 175.766960] xhci_dbc_exit+0x2a/0x40 -[ 175.767889] xhci_stop+0x57/0x1c0 -[ 175.768824] usb_remove_hcd+0x100/0x250 -[ 175.769708] usb_hcd_pci_remove+0x68/0x130 -[ 175.770574] pci_device_remove+0x3b/0xc0 -[ 175.771435] device_release_driver_internal+0x157/0x230 -[ 175.772343] pci_stop_bus_device+0x74/0xa0 -[ 175.773205] pci_stop_bus_device+0x2b/0xa0 -[ 175.774061] pci_stop_bus_device+0x2b/0xa0 -[ 175.774907] pci_stop_bus_device+0x2b/0xa0 -[ 175.775741] pci_stop_bus_device+0x2b/0xa0 -[ 175.776618] pci_stop_bus_device+0x2b/0xa0 -[ 175.777452] pci_stop_bus_device+0x2b/0xa0 -[ 175.778273] pci_stop_bus_device+0x2b/0xa0 -[ 175.779092] pci_stop_bus_device+0x2b/0xa0 -[ 175.779908] pci_stop_bus_device+0x2b/0xa0 -[ 175.780750] pci_stop_bus_device+0x2b/0xa0 -[ 175.781543] pci_stop_and_remove_bus_device+0xe/0x20 -[ 175.782338] pciehp_unconfigure_device+0xb8/0x160 -[ 175.783128] pciehp_disable_slot+0x4f/0xd0 -[ 175.783920] pciehp_power_thread+0x82/0xa0 -[ 175.784766] process_one_work+0x147/0x3c0 -[ 175.785564] worker_thread+0x4a/0x440 -[ 175.786376] kthread+0xf8/0x130 -[ 175.787174] ? rescuer_thread+0x360/0x360 -[ 175.787964] ? kthread_associate_blkcg+0x90/0x90 -[ 175.788798] ret_from_fork+0x35/0x40 - -Cc: <stable@vger.kernel.org> # 4.16 -Fixes: dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver") -Signed-off-by: Zhengjun Xing <zhengjun.xing@linux.intel.com> -Tested-by: Christian Kellner <christian@kellner.me> -Reviewed-by: Christian Kellner <christian@kellner.me> -Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> ---- - drivers/usb/host/xhci-dbgtty.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/host/xhci-dbgtty.c b/drivers/usb/host/xhci-dbgtty.c -index 48779c4..eb494ec5 100644 ---- a/drivers/usb/host/xhci-dbgtty.c -+++ b/drivers/usb/host/xhci-dbgtty.c -@@ -320,9 +320,11 @@ int xhci_dbc_tty_register_driver(struct xhci_hcd *xhci) - - void xhci_dbc_tty_unregister_driver(void) - { -- tty_unregister_driver(dbc_tty_driver); -- put_tty_driver(dbc_tty_driver); -- dbc_tty_driver = NULL; -+ if (dbc_tty_driver) { -+ tty_unregister_driver(dbc_tty_driver); -+ put_tty_driver(dbc_tty_driver); -+ dbc_tty_driver = NULL; -+ } - } - - static void dbc_rx_push(unsigned long _port) |