| From 7e6fc2f50a3197d0e82d1c0e86282976c9e6c8a4 Mon Sep 17 00:00:00 2001 |
| From: Daniel Drake <drake@endlessm.com> |
| Date: Mon, 7 Jan 2019 11:40:24 +0800 |
| Subject: x86/kaslr: Fix incorrect i8254 outb() parameters |
| |
| From: Daniel Drake <drake@endlessm.com> |
| |
| 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 <drake@endlessm.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| 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 <gregkh@linuxfoundation.org> |
| |
| --- |
| 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 |
| @@ -25,8 +25,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; |