From 05535758531123dd901f5e138ab0ced86f975bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Sat, 1 Feb 2014 05:31:18 -0200 Subject: linux-libre-3.13.1-2: fix CVE-2014-0038 --- libre-testing/linux-libre/i8042-fix-aliases.patch | 226 +++++++++++----------- 1 file changed, 113 insertions(+), 113 deletions(-) (limited to 'libre-testing/linux-libre/i8042-fix-aliases.patch') diff --git a/libre-testing/linux-libre/i8042-fix-aliases.patch b/libre-testing/linux-libre/i8042-fix-aliases.patch index 302dcf604..961968c78 100644 --- a/libre-testing/linux-libre/i8042-fix-aliases.patch +++ b/libre-testing/linux-libre/i8042-fix-aliases.patch @@ -1,113 +1,113 @@ -commit 5a420e61e39862c7c3356080eddb23dfe4ccadb7 -Author: Tom Gundersen -Date: Sun Jan 26 17:00:32 2014 +0100 - - Input: i8042 - fix PNP modaliases when both aux and kdb are enabled - - Commit 78551277e4 exposed the PNP modaliases for the i8042 module. However, - when both the aux and the kbd drivers are enabled the aux entries would - override the kdb ones. - - Refactor the device_id lists, and unconditionally attempt to load the driver - if either a kdb or aux devices is present. - - Signed-off-by: Tom Gundersen - -diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h -index 0ec9abb..dbc6958 100644 ---- a/drivers/input/serio/i8042-x86ia64io.h -+++ b/drivers/input/serio/i8042-x86ia64io.h -@@ -747,25 +747,27 @@ static int i8042_pnp_aux_probe(struct pnp_dev *dev, const struct pnp_device_id * - return 0; - } - --static struct pnp_device_id pnp_kbd_devids[] = { -- { .id = "PNP0300", .driver_data = 0 }, -- { .id = "PNP0301", .driver_data = 0 }, -- { .id = "PNP0302", .driver_data = 0 }, -- { .id = "PNP0303", .driver_data = 0 }, -- { .id = "PNP0304", .driver_data = 0 }, -- { .id = "PNP0305", .driver_data = 0 }, -- { .id = "PNP0306", .driver_data = 0 }, -- { .id = "PNP0309", .driver_data = 0 }, -- { .id = "PNP030a", .driver_data = 0 }, -- { .id = "PNP030b", .driver_data = 0 }, -- { .id = "PNP0320", .driver_data = 0 }, -- { .id = "PNP0343", .driver_data = 0 }, -- { .id = "PNP0344", .driver_data = 0 }, -- { .id = "PNP0345", .driver_data = 0 }, -+#define KBD_DEVIDS \ -+ { .id = "PNP0300", .driver_data = 0 }, \ -+ { .id = "PNP0301", .driver_data = 0 }, \ -+ { .id = "PNP0302", .driver_data = 0 }, \ -+ { .id = "PNP0303", .driver_data = 0 }, \ -+ { .id = "PNP0304", .driver_data = 0 }, \ -+ { .id = "PNP0305", .driver_data = 0 }, \ -+ { .id = "PNP0306", .driver_data = 0 }, \ -+ { .id = "PNP0309", .driver_data = 0 }, \ -+ { .id = "PNP030a", .driver_data = 0 }, \ -+ { .id = "PNP030b", .driver_data = 0 }, \ -+ { .id = "PNP0320", .driver_data = 0 }, \ -+ { .id = "PNP0343", .driver_data = 0 }, \ -+ { .id = "PNP0344", .driver_data = 0 }, \ -+ { .id = "PNP0345", .driver_data = 0 }, \ - { .id = "CPQA0D7", .driver_data = 0 }, -+ -+static struct pnp_device_id pnp_kbd_devids[] = { -+ KBD_DEVIDS - { .id = "", }, - }; --MODULE_DEVICE_TABLE(pnp, pnp_kbd_devids); - - static struct pnp_driver i8042_pnp_kbd_driver = { - .name = "i8042 kbd", -@@ -773,21 +775,23 @@ static struct pnp_driver i8042_pnp_kbd_driver = { - .probe = i8042_pnp_kbd_probe, - }; - --static struct pnp_device_id pnp_aux_devids[] = { -- { .id = "AUI0200", .driver_data = 0 }, -- { .id = "FJC6000", .driver_data = 0 }, -- { .id = "FJC6001", .driver_data = 0 }, -- { .id = "PNP0f03", .driver_data = 0 }, -- { .id = "PNP0f0b", .driver_data = 0 }, -- { .id = "PNP0f0e", .driver_data = 0 }, -- { .id = "PNP0f12", .driver_data = 0 }, -- { .id = "PNP0f13", .driver_data = 0 }, -- { .id = "PNP0f19", .driver_data = 0 }, -- { .id = "PNP0f1c", .driver_data = 0 }, -+#define AUX_DEVIDS \ -+ { .id = "AUI0200", .driver_data = 0 }, \ -+ { .id = "FJC6000", .driver_data = 0 }, \ -+ { .id = "FJC6001", .driver_data = 0 }, \ -+ { .id = "PNP0f03", .driver_data = 0 }, \ -+ { .id = "PNP0f0b", .driver_data = 0 }, \ -+ { .id = "PNP0f0e", .driver_data = 0 }, \ -+ { .id = "PNP0f12", .driver_data = 0 }, \ -+ { .id = "PNP0f13", .driver_data = 0 }, \ -+ { .id = "PNP0f19", .driver_data = 0 }, \ -+ { .id = "PNP0f1c", .driver_data = 0 }, \ - { .id = "SYN0801", .driver_data = 0 }, -+ -+static struct pnp_device_id pnp_aux_devids[] = { -+ AUX_DEVIDS - { .id = "", }, - }; --MODULE_DEVICE_TABLE(pnp, pnp_aux_devids); - - static struct pnp_driver i8042_pnp_aux_driver = { - .name = "i8042 aux", -@@ -795,6 +799,13 @@ static struct pnp_driver i8042_pnp_aux_driver = { - .probe = i8042_pnp_aux_probe, - }; - -+static struct pnp_device_id pnp_kdb_aux_devids[] = { -+ KBD_DEVIDS -+ AUX_DEVIDS -+ { .id = "", }, -+}; -+MODULE_DEVICE_TABLE(pnp, pnp_kdb_aux_devids); -+ - static void i8042_pnp_exit(void) - { - if (i8042_pnp_kbd_registered) { +commit 5a420e61e39862c7c3356080eddb23dfe4ccadb7 +Author: Tom Gundersen +Date: Sun Jan 26 17:00:32 2014 +0100 + + Input: i8042 - fix PNP modaliases when both aux and kdb are enabled + + Commit 78551277e4 exposed the PNP modaliases for the i8042 module. However, + when both the aux and the kbd drivers are enabled the aux entries would + override the kdb ones. + + Refactor the device_id lists, and unconditionally attempt to load the driver + if either a kdb or aux devices is present. + + Signed-off-by: Tom Gundersen + +diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h +index 0ec9abb..dbc6958 100644 +--- a/drivers/input/serio/i8042-x86ia64io.h ++++ b/drivers/input/serio/i8042-x86ia64io.h +@@ -747,25 +747,27 @@ static int i8042_pnp_aux_probe(struct pnp_dev *dev, const struct pnp_device_id * + return 0; + } + +-static struct pnp_device_id pnp_kbd_devids[] = { +- { .id = "PNP0300", .driver_data = 0 }, +- { .id = "PNP0301", .driver_data = 0 }, +- { .id = "PNP0302", .driver_data = 0 }, +- { .id = "PNP0303", .driver_data = 0 }, +- { .id = "PNP0304", .driver_data = 0 }, +- { .id = "PNP0305", .driver_data = 0 }, +- { .id = "PNP0306", .driver_data = 0 }, +- { .id = "PNP0309", .driver_data = 0 }, +- { .id = "PNP030a", .driver_data = 0 }, +- { .id = "PNP030b", .driver_data = 0 }, +- { .id = "PNP0320", .driver_data = 0 }, +- { .id = "PNP0343", .driver_data = 0 }, +- { .id = "PNP0344", .driver_data = 0 }, +- { .id = "PNP0345", .driver_data = 0 }, ++#define KBD_DEVIDS \ ++ { .id = "PNP0300", .driver_data = 0 }, \ ++ { .id = "PNP0301", .driver_data = 0 }, \ ++ { .id = "PNP0302", .driver_data = 0 }, \ ++ { .id = "PNP0303", .driver_data = 0 }, \ ++ { .id = "PNP0304", .driver_data = 0 }, \ ++ { .id = "PNP0305", .driver_data = 0 }, \ ++ { .id = "PNP0306", .driver_data = 0 }, \ ++ { .id = "PNP0309", .driver_data = 0 }, \ ++ { .id = "PNP030a", .driver_data = 0 }, \ ++ { .id = "PNP030b", .driver_data = 0 }, \ ++ { .id = "PNP0320", .driver_data = 0 }, \ ++ { .id = "PNP0343", .driver_data = 0 }, \ ++ { .id = "PNP0344", .driver_data = 0 }, \ ++ { .id = "PNP0345", .driver_data = 0 }, \ + { .id = "CPQA0D7", .driver_data = 0 }, ++ ++static struct pnp_device_id pnp_kbd_devids[] = { ++ KBD_DEVIDS + { .id = "", }, + }; +-MODULE_DEVICE_TABLE(pnp, pnp_kbd_devids); + + static struct pnp_driver i8042_pnp_kbd_driver = { + .name = "i8042 kbd", +@@ -773,21 +775,23 @@ static struct pnp_driver i8042_pnp_kbd_driver = { + .probe = i8042_pnp_kbd_probe, + }; + +-static struct pnp_device_id pnp_aux_devids[] = { +- { .id = "AUI0200", .driver_data = 0 }, +- { .id = "FJC6000", .driver_data = 0 }, +- { .id = "FJC6001", .driver_data = 0 }, +- { .id = "PNP0f03", .driver_data = 0 }, +- { .id = "PNP0f0b", .driver_data = 0 }, +- { .id = "PNP0f0e", .driver_data = 0 }, +- { .id = "PNP0f12", .driver_data = 0 }, +- { .id = "PNP0f13", .driver_data = 0 }, +- { .id = "PNP0f19", .driver_data = 0 }, +- { .id = "PNP0f1c", .driver_data = 0 }, ++#define AUX_DEVIDS \ ++ { .id = "AUI0200", .driver_data = 0 }, \ ++ { .id = "FJC6000", .driver_data = 0 }, \ ++ { .id = "FJC6001", .driver_data = 0 }, \ ++ { .id = "PNP0f03", .driver_data = 0 }, \ ++ { .id = "PNP0f0b", .driver_data = 0 }, \ ++ { .id = "PNP0f0e", .driver_data = 0 }, \ ++ { .id = "PNP0f12", .driver_data = 0 }, \ ++ { .id = "PNP0f13", .driver_data = 0 }, \ ++ { .id = "PNP0f19", .driver_data = 0 }, \ ++ { .id = "PNP0f1c", .driver_data = 0 }, \ + { .id = "SYN0801", .driver_data = 0 }, ++ ++static struct pnp_device_id pnp_aux_devids[] = { ++ AUX_DEVIDS + { .id = "", }, + }; +-MODULE_DEVICE_TABLE(pnp, pnp_aux_devids); + + static struct pnp_driver i8042_pnp_aux_driver = { + .name = "i8042 aux", +@@ -795,6 +799,13 @@ static struct pnp_driver i8042_pnp_aux_driver = { + .probe = i8042_pnp_aux_probe, + }; + ++static struct pnp_device_id pnp_kdb_aux_devids[] = { ++ KBD_DEVIDS ++ AUX_DEVIDS ++ { .id = "", }, ++}; ++MODULE_DEVICE_TABLE(pnp, pnp_kdb_aux_devids); ++ + static void i8042_pnp_exit(void) + { + if (i8042_pnp_kbd_registered) { -- cgit v1.2.3-2-g168b