From: Greg Kroah-Hartman Date: Mon, 28 Jan 2019 13:53:13 +0000 (+0100) Subject: 3.18-stable patches X-Git-Tag: v4.9.154~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=893c27d37b7a3bae74decf4b249fde23487c664b;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: x86-kaslr-fix-incorrect-i8254-outb-parameters.patch --- diff --git a/queue-3.18/series b/queue-3.18/series index 48b99c5bb0c..0ebca089872 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -7,3 +7,4 @@ tty-handle-problem-if-line-discipline-does-not-have-receive_buf.patch tty-n_hdlc-fix-__might_sleep-warning.patch cifs-fix-possible-hang-during-async-mtu-reads-and-writes.patch input-xpad-add-support-for-steelseries-stratus-duo.patch +x86-kaslr-fix-incorrect-i8254-outb-parameters.patch diff --git a/queue-3.18/x86-kaslr-fix-incorrect-i8254-outb-parameters.patch b/queue-3.18/x86-kaslr-fix-incorrect-i8254-outb-parameters.patch new file mode 100644 index 00000000000..acb90d58d73 --- /dev/null +++ b/queue-3.18/x86-kaslr-fix-incorrect-i8254-outb-parameters.patch @@ -0,0 +1,39 @@ +From 7e6fc2f50a3197d0e82d1c0e86282976c9e6c8a4 Mon Sep 17 00:00:00 2001 +From: Daniel Drake +Date: Mon, 7 Jan 2019 11:40:24 +0800 +Subject: x86/kaslr: Fix incorrect i8254 outb() parameters + +From: Daniel Drake + +commit 7e6fc2f50a3197d0e82d1c0e86282976c9e6c8a4 upstream. + +The outb() function takes parameters value and port, in that order. Fix +the parameters used in the kalsr i8254 fallback code. + +Fixes: 5bfce5ef55cb ("x86, kaslr: Provide randomness functions") +Signed-off-by: Daniel Drake +Signed-off-by: Thomas Gleixner +Cc: bp@alien8.de +Cc: hpa@zytor.com +Cc: linux@endlessm.com +Cc: stable@vger.kernel.org +Link: https://lkml.kernel.org/r/20190107034024.15005-1-drake@endlessm.com +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/boot/compressed/aslr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/x86/boot/compressed/aslr.c ++++ b/arch/x86/boot/compressed/aslr.c +@@ -24,8 +24,8 @@ static inline u16 i8254(void) + u16 status, timer; + + do { +- outb(I8254_PORT_CONTROL, +- I8254_CMD_READBACK | I8254_SELECT_COUNTER0); ++ outb(I8254_CMD_READBACK | I8254_SELECT_COUNTER0, ++ I8254_PORT_CONTROL); + status = inb(I8254_PORT_COUNTER0); + timer = inb(I8254_PORT_COUNTER0); + timer |= inb(I8254_PORT_COUNTER0) << 8;