Linux v4.6-rc1
- Disable debugging options.
This commit is contained in:
parent
846bc92b91
commit
47ad5d57a3
@ -1,31 +0,0 @@
|
|||||||
From cb6fcfe5a7e9197ceb7e9eec56e9c526e4e76354 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
||||||
Date: Mon, 14 Mar 2016 19:37:12 +0100
|
|
||||||
Subject: [PATCH] Input: synaptics - handle spurious release of trackstick
|
|
||||||
buttons, again
|
|
||||||
|
|
||||||
Looks like the fimware 8.2 stall has the extra buttons spurious release
|
|
||||||
bug.
|
|
||||||
|
|
||||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
||||||
---
|
|
||||||
drivers/input/mouse/synaptics.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
|
|
||||||
index 6025eb4..4ef8d7a 100644
|
|
||||||
--- a/drivers/input/mouse/synaptics.c
|
|
||||||
+++ b/drivers/input/mouse/synaptics.c
|
|
||||||
@@ -863,7 +863,8 @@ static void synaptics_report_ext_buttons(struct psmouse *psmouse,
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Bug in FW 8.1, buttons are reported only when ExtBit is 1 */
|
|
||||||
- if (SYN_ID_FULL(priv->identity) == 0x801 &&
|
|
||||||
+ if ((SYN_ID_FULL(priv->identity) == 0x801 ||
|
|
||||||
+ SYN_ID_FULL(priv->identity) == 0x802) &&
|
|
||||||
!((psmouse->packet[0] ^ psmouse->packet[3]) & 0x02))
|
|
||||||
return;
|
|
||||||
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
@ -1,107 +0,0 @@
|
|||||||
From 0f8536022831faaba3a952fa633902d9686f535f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vladis Dronov <vdronov@redhat.com>
|
|
||||||
Date: Wed, 23 Mar 2016 15:53:07 -0400
|
|
||||||
Subject: [PATCH] Input: ati_remote2: fix crashes on detecting device with
|
|
||||||
invalid descriptor
|
|
||||||
|
|
||||||
The ati_remote2 driver expects at least two interfaces with one
|
|
||||||
endpoint each. If given malicious descriptor that specify one
|
|
||||||
interface or no endpoints, it will crash in the probe function.
|
|
||||||
Ensure there is at least two interfaces and one endpoint for each
|
|
||||||
interface before using it.
|
|
||||||
|
|
||||||
The full disclosure: http://seclists.org/bugtraq/2016/Mar/90
|
|
||||||
|
|
||||||
Reported-by: Ralf Spenneberg <ralf@spenneberg.net>
|
|
||||||
Signed-off-by: Vladis Dronov <vdronov@redhat.com>
|
|
||||||
---
|
|
||||||
drivers/input/misc/ati_remote2.c | 36 ++++++++++++++++++++++++++++++------
|
|
||||||
1 file changed, 30 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/input/misc/ati_remote2.c b/drivers/input/misc/ati_remote2.c
|
|
||||||
index cfd58e87da26..cf5d1e8d92c7 100644
|
|
||||||
--- a/drivers/input/misc/ati_remote2.c
|
|
||||||
+++ b/drivers/input/misc/ati_remote2.c
|
|
||||||
@@ -817,26 +817,49 @@ static int ati_remote2_probe(struct usb_interface *interface, const struct usb_d
|
|
||||||
|
|
||||||
ar2->udev = udev;
|
|
||||||
|
|
||||||
+ /* Sanity check, first interface must have an endpoint */
|
|
||||||
+ if ((alt->desc.bNumEndpoints < 1) || !alt->endpoint) {
|
|
||||||
+ dev_err(&interface->dev,
|
|
||||||
+ "%s(): interface 0 must have an endpoint\n", __func__);
|
|
||||||
+ r = -ENODEV;
|
|
||||||
+ goto fail1;
|
|
||||||
+ }
|
|
||||||
ar2->intf[0] = interface;
|
|
||||||
ar2->ep[0] = &alt->endpoint[0].desc;
|
|
||||||
|
|
||||||
+ /* Sanity check, the device must have two interfaces */
|
|
||||||
ar2->intf[1] = usb_ifnum_to_if(udev, 1);
|
|
||||||
+ if ((udev->actconfig->desc.bNumInterfaces < 2) || !ar2->intf[1]) {
|
|
||||||
+ dev_err(&interface->dev, "%s(): need 2 interfaces, found %d\n",
|
|
||||||
+ __func__, udev->actconfig->desc.bNumInterfaces);
|
|
||||||
+ r = -ENODEV;
|
|
||||||
+ goto fail1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
r = usb_driver_claim_interface(&ati_remote2_driver, ar2->intf[1], ar2);
|
|
||||||
if (r)
|
|
||||||
goto fail1;
|
|
||||||
+
|
|
||||||
+ /* Sanity check, second interface must have an endpoint */
|
|
||||||
alt = ar2->intf[1]->cur_altsetting;
|
|
||||||
+ if ((alt->desc.bNumEndpoints < 1) || !alt->endpoint) {
|
|
||||||
+ dev_err(&interface->dev,
|
|
||||||
+ "%s(): interface 1 must have an endpoint\n", __func__);
|
|
||||||
+ r = -ENODEV;
|
|
||||||
+ goto fail2;
|
|
||||||
+ }
|
|
||||||
ar2->ep[1] = &alt->endpoint[0].desc;
|
|
||||||
|
|
||||||
r = ati_remote2_urb_init(ar2);
|
|
||||||
if (r)
|
|
||||||
- goto fail2;
|
|
||||||
+ goto fail3;
|
|
||||||
|
|
||||||
ar2->channel_mask = channel_mask;
|
|
||||||
ar2->mode_mask = mode_mask;
|
|
||||||
|
|
||||||
r = ati_remote2_setup(ar2, ar2->channel_mask);
|
|
||||||
if (r)
|
|
||||||
- goto fail2;
|
|
||||||
+ goto fail3;
|
|
||||||
|
|
||||||
usb_make_path(udev, ar2->phys, sizeof(ar2->phys));
|
|
||||||
strlcat(ar2->phys, "/input0", sizeof(ar2->phys));
|
|
||||||
@@ -845,11 +868,11 @@ static int ati_remote2_probe(struct usb_interface *interface, const struct usb_d
|
|
||||||
|
|
||||||
r = sysfs_create_group(&udev->dev.kobj, &ati_remote2_attr_group);
|
|
||||||
if (r)
|
|
||||||
- goto fail2;
|
|
||||||
+ goto fail3;
|
|
||||||
|
|
||||||
r = ati_remote2_input_init(ar2);
|
|
||||||
if (r)
|
|
||||||
- goto fail3;
|
|
||||||
+ goto fail4;
|
|
||||||
|
|
||||||
usb_set_intfdata(interface, ar2);
|
|
||||||
|
|
||||||
@@ -857,10 +880,11 @@ static int ati_remote2_probe(struct usb_interface *interface, const struct usb_d
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- fail3:
|
|
||||||
+ fail4:
|
|
||||||
sysfs_remove_group(&udev->dev.kobj, &ati_remote2_attr_group);
|
|
||||||
- fail2:
|
|
||||||
+ fail3:
|
|
||||||
ati_remote2_urb_cleanup(ar2);
|
|
||||||
+ fail2:
|
|
||||||
usb_driver_release_interface(&ati_remote2_driver, ar2->intf[1]);
|
|
||||||
fail1:
|
|
||||||
kfree(ar2);
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
@ -1846,13 +1846,13 @@ CONFIG_B43_PCMCIA=y
|
|||||||
CONFIG_B43_SDIO=y
|
CONFIG_B43_SDIO=y
|
||||||
CONFIG_B43_BCMA=y
|
CONFIG_B43_BCMA=y
|
||||||
CONFIG_B43_BCMA_PIO=y
|
CONFIG_B43_BCMA_PIO=y
|
||||||
CONFIG_B43_DEBUG=y
|
# CONFIG_B43_DEBUG is not set
|
||||||
CONFIG_B43_PHY_LP=y
|
CONFIG_B43_PHY_LP=y
|
||||||
CONFIG_B43_PHY_N=y
|
CONFIG_B43_PHY_N=y
|
||||||
CONFIG_B43_PHY_HT=y
|
CONFIG_B43_PHY_HT=y
|
||||||
CONFIG_B43_PHY_G=y
|
CONFIG_B43_PHY_G=y
|
||||||
CONFIG_B43LEGACY=m
|
CONFIG_B43LEGACY=m
|
||||||
CONFIG_B43LEGACY_DEBUG=y
|
# CONFIG_B43LEGACY_DEBUG is not set
|
||||||
CONFIG_B43LEGACY_DMA=y
|
CONFIG_B43LEGACY_DMA=y
|
||||||
CONFIG_B43LEGACY_PIO=y
|
CONFIG_B43LEGACY_PIO=y
|
||||||
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
|
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
|
||||||
@ -4619,6 +4619,7 @@ CONFIG_DEBUG_FS=y
|
|||||||
#
|
#
|
||||||
# Miscellaneous filesystems
|
# Miscellaneous filesystems
|
||||||
#
|
#
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
# CONFIG_ADFS_FS is not set
|
# CONFIG_ADFS_FS is not set
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
@ -5209,7 +5210,7 @@ CONFIG_PM_DEBUG=y
|
|||||||
# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
|
# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
|
||||||
CONFIG_PM_TRACE=y
|
CONFIG_PM_TRACE=y
|
||||||
CONFIG_PM_TRACE_RTC=y
|
CONFIG_PM_TRACE_RTC=y
|
||||||
CONFIG_PM_TEST_SUSPEND=y
|
# CONFIG_PM_TEST_SUSPEND is not set
|
||||||
# CONFIG_PM_OPP is not set
|
# CONFIG_PM_OPP is not set
|
||||||
# CONFIG_PM_AUTOSLEEP is not set
|
# CONFIG_PM_AUTOSLEEP is not set
|
||||||
# CONFIG_PM_WAKELOCKS is not set
|
# CONFIG_PM_WAKELOCKS is not set
|
||||||
|
110
config-nodebug
110
config-nodebug
@ -2,101 +2,101 @@ CONFIG_SND_VERBOSE_PRINTK=y
|
|||||||
CONFIG_SND_DEBUG=y
|
CONFIG_SND_DEBUG=y
|
||||||
CONFIG_SND_PCM_XRUN_DEBUG=y
|
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||||
|
|
||||||
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_MUTEXES=y
|
# CONFIG_DEBUG_MUTEXES is not set
|
||||||
CONFIG_DEBUG_RT_MUTEXES=y
|
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||||
CONFIG_LOCK_TORTURE_TEST=m
|
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||||
CONFIG_PROVE_LOCKING=y
|
# CONFIG_PROVE_LOCKING is not set
|
||||||
CONFIG_DEBUG_SPINLOCK=y
|
# CONFIG_DEBUG_SPINLOCK is not set
|
||||||
CONFIG_PROVE_RCU=y
|
# CONFIG_PROVE_RCU is not set
|
||||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||||
CONFIG_DEBUG_PER_CPU_MAPS=y
|
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||||
CONFIG_CPUMASK_OFFSTACK=y
|
CONFIG_CPUMASK_OFFSTACK=y
|
||||||
|
|
||||||
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
|
||||||
|
|
||||||
CONFIG_FAULT_INJECTION=y
|
# CONFIG_FAULT_INJECTION is not set
|
||||||
CONFIG_FAILSLAB=y
|
# CONFIG_FAILSLAB is not set
|
||||||
CONFIG_FAIL_PAGE_ALLOC=y
|
# CONFIG_FAIL_PAGE_ALLOC is not set
|
||||||
CONFIG_FAIL_MAKE_REQUEST=y
|
# CONFIG_FAIL_MAKE_REQUEST is not set
|
||||||
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
|
||||||
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
|
||||||
CONFIG_FAIL_IO_TIMEOUT=y
|
# CONFIG_FAIL_IO_TIMEOUT is not set
|
||||||
CONFIG_FAIL_MMC_REQUEST=y
|
# CONFIG_FAIL_MMC_REQUEST is not set
|
||||||
|
|
||||||
CONFIG_LOCK_STAT=y
|
# CONFIG_LOCK_STAT is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_STACK_USAGE=y
|
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||||
|
|
||||||
CONFIG_ACPI_DEBUG=y
|
# CONFIG_ACPI_DEBUG is not set
|
||||||
# CONFIG_ACPI_DEBUGGER is not set
|
# CONFIG_ACPI_DEBUGGER is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_SG=y
|
# CONFIG_DEBUG_SG is not set
|
||||||
CONFIG_DEBUG_PI_LIST=y
|
# CONFIG_DEBUG_PI_LIST is not set
|
||||||
|
|
||||||
# CONFIG_PAGE_EXTENSION is not set
|
# CONFIG_PAGE_EXTENSION is not set
|
||||||
# CONFIG_PAGE_OWNER is not set
|
# CONFIG_PAGE_OWNER is not set
|
||||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_OBJECTS=y
|
# CONFIG_DEBUG_OBJECTS is not set
|
||||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||||
CONFIG_DEBUG_OBJECTS_FREE=y
|
# CONFIG_DEBUG_OBJECTS_FREE is not set
|
||||||
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
|
||||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
|
||||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||||
|
|
||||||
CONFIG_X86_PTDUMP=y
|
CONFIG_X86_PTDUMP=y
|
||||||
CONFIG_ARM64_PTDUMP=y
|
# CONFIG_ARM64_PTDUMP is not set
|
||||||
CONFIG_EFI_PGT_DUMP=y
|
# CONFIG_EFI_PGT_DUMP is not set
|
||||||
|
|
||||||
CONFIG_CAN_DEBUG_DEVICES=y
|
# CONFIG_CAN_DEBUG_DEVICES is not set
|
||||||
|
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||||
|
|
||||||
|
|
||||||
CONFIG_DEBUG_NOTIFIERS=y
|
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||||
|
|
||||||
CONFIG_DMA_API_DEBUG=y
|
# CONFIG_DMA_API_DEBUG is not set
|
||||||
|
|
||||||
CONFIG_MMIOTRACE=y
|
# CONFIG_MMIOTRACE is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_CREDENTIALS=y
|
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||||
|
|
||||||
# off in both production debug and nodebug builds,
|
# off in both production debug and nodebug builds,
|
||||||
# on in rawhide nodebug builds
|
# on in rawhide nodebug builds
|
||||||
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
|
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||||
|
|
||||||
CONFIG_EXT4_DEBUG=y
|
# CONFIG_EXT4_DEBUG is not set
|
||||||
|
|
||||||
# CONFIG_XFS_WARN is not set
|
# CONFIG_XFS_WARN is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||||
|
|
||||||
CONFIG_JBD2_DEBUG=y
|
# CONFIG_JBD2_DEBUG is not set
|
||||||
|
|
||||||
CONFIG_NFSD_FAULT_INJECTION=y
|
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_BLK_CGROUP=y
|
# CONFIG_DEBUG_BLK_CGROUP is not set
|
||||||
|
|
||||||
CONFIG_DRBD_FAULT_INJECTION=y
|
# CONFIG_DRBD_FAULT_INJECTION is not set
|
||||||
|
|
||||||
CONFIG_ATH_DEBUG=y
|
# CONFIG_ATH_DEBUG is not set
|
||||||
CONFIG_CARL9170_DEBUGFS=y
|
# CONFIG_CARL9170_DEBUGFS is not set
|
||||||
CONFIG_IWLWIFI_DEVICE_TRACING=y
|
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
||||||
|
|
||||||
# CONFIG_RTLWIFI_DEBUG is not set
|
# CONFIG_RTLWIFI_DEBUG is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_OBJECTS_WORK=y
|
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
||||||
|
|
||||||
CONFIG_DMADEVICES_DEBUG=y
|
# CONFIG_DMADEVICES_DEBUG is not set
|
||||||
# CONFIG_DMADEVICES_VDEBUG is not set
|
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||||
|
|
||||||
CONFIG_PM_ADVANCED_DEBUG=y
|
CONFIG_PM_ADVANCED_DEBUG=y
|
||||||
|
|
||||||
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
||||||
CONFIG_QUOTA_DEBUG=y
|
# CONFIG_QUOTA_DEBUG is not set
|
||||||
|
|
||||||
|
|
||||||
CONFIG_KGDB_KDB=y
|
CONFIG_KGDB_KDB=y
|
||||||
@ -104,19 +104,19 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
|
|||||||
CONFIG_KDB_KEYBOARD=y
|
CONFIG_KDB_KEYBOARD=y
|
||||||
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||||
|
|
||||||
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
|
||||||
# CONFIG_PERCPU_TEST is not set
|
# CONFIG_PERCPU_TEST is not set
|
||||||
CONFIG_TEST_LIST_SORT=y
|
# CONFIG_TEST_LIST_SORT is not set
|
||||||
# CONFIG_TEST_STRING_HELPERS is not set
|
# CONFIG_TEST_STRING_HELPERS is not set
|
||||||
|
|
||||||
CONFIG_DETECT_HUNG_TASK=y
|
# CONFIG_DETECT_HUNG_TASK is not set
|
||||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||||
CONFIG_WQ_WATCHDOG=y
|
# CONFIG_WQ_WATCHDOG is not set
|
||||||
|
|
||||||
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||||
|
|
||||||
CONFIG_DEBUG_KMEMLEAK=y
|
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||||
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||||
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||||
|
@ -379,7 +379,7 @@ CONFIG_SP5100_TCO=m
|
|||||||
|
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# CONFIG_DEBUG_TLBFLUSH is not set
|
# CONFIG_DEBUG_TLBFLUSH is not set
|
||||||
CONFIG_MAXSMP=y
|
# CONFIG_MAXSMP is not set
|
||||||
|
|
||||||
|
|
||||||
CONFIG_HP_ILO=m
|
CONFIG_HP_ILO=m
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From a4200b7eb26271108586d3a7cf34a2f16d460e48 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Oliver Neukum <oneukum@suse.com>
|
|
||||||
Date: Thu, 17 Mar 2016 15:10:47 +0100
|
|
||||||
Subject: [PATCH] ims-pcu: sanity check against missing interfaces
|
|
||||||
|
|
||||||
A malicious device missing interface can make the driver oops.
|
|
||||||
Add sanity checking.
|
|
||||||
|
|
||||||
Signed-off-by: Oliver Neukum <ONeukum@suse.com>
|
|
||||||
CC: stable@vger.kernel.org
|
|
||||||
---
|
|
||||||
drivers/input/misc/ims-pcu.c | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/input/misc/ims-pcu.c b/drivers/input/misc/ims-pcu.c
|
|
||||||
index ac1fa5f44580..9c0ea36913b4 100644
|
|
||||||
--- a/drivers/input/misc/ims-pcu.c
|
|
||||||
+++ b/drivers/input/misc/ims-pcu.c
|
|
||||||
@@ -1663,6 +1663,8 @@ static int ims_pcu_parse_cdc_data(struct usb_interface *intf, struct ims_pcu *pc
|
|
||||||
|
|
||||||
pcu->ctrl_intf = usb_ifnum_to_if(pcu->udev,
|
|
||||||
union_desc->bMasterInterface0);
|
|
||||||
+ if (!pcu->ctrl_intf)
|
|
||||||
+ return -EINVAL;
|
|
||||||
|
|
||||||
alt = pcu->ctrl_intf->cur_altsetting;
|
|
||||||
pcu->ep_ctrl = &alt->endpoint[0].desc;
|
|
||||||
@@ -1670,6 +1672,8 @@ static int ims_pcu_parse_cdc_data(struct usb_interface *intf, struct ims_pcu *pc
|
|
||||||
|
|
||||||
pcu->data_intf = usb_ifnum_to_if(pcu->udev,
|
|
||||||
union_desc->bSlaveInterface0);
|
|
||||||
+ if (!pcu->data_intf)
|
|
||||||
+ return -EINVAL;
|
|
||||||
|
|
||||||
alt = pcu->data_intf->cur_altsetting;
|
|
||||||
if (alt->desc.bNumEndpoints != 2) {
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
18
kernel.spec
18
kernel.spec
@ -67,9 +67,9 @@ Summary: The Linux kernel
|
|||||||
# The next upstream release sublevel (base_sublevel+1)
|
# The next upstream release sublevel (base_sublevel+1)
|
||||||
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 0
|
%define rcrev 1
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 26
|
%define gitrev 0
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 4.%{upstream_sublevel}.0
|
%define rpmversion 4.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -125,7 +125,7 @@ Summary: The Linux kernel
|
|||||||
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
|
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
|
||||||
# and 0 for rawhide (all kernels are debug kernels).
|
# and 0 for rawhide (all kernels are debug kernels).
|
||||||
# See also 'make debug' and 'make release'.
|
# See also 'make debug' and 'make release'.
|
||||||
%define debugbuildsenabled 0
|
%define debugbuildsenabled 1
|
||||||
|
|
||||||
# Want to build a vanilla kernel build without any non-upstream patches?
|
# Want to build a vanilla kernel build without any non-upstream patches?
|
||||||
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
|
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
|
||||||
@ -615,20 +615,12 @@ Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
|
|||||||
#CVE-2016-3137 rhbz 1317010 1316996
|
#CVE-2016-3137 rhbz 1317010 1316996
|
||||||
Patch672: cypress_m8-add-sanity-checking.patch
|
Patch672: cypress_m8-add-sanity-checking.patch
|
||||||
|
|
||||||
#CVE-2016-2185 rhbz 1317014 1317471
|
|
||||||
Patch669: Input-ati_remote2-fix-crashes-on-detecting-device-wi.patch
|
|
||||||
|
|
||||||
#CVE-2016-3140 rhbz 1317010 1316995
|
#CVE-2016-3140 rhbz 1317010 1316995
|
||||||
Patch677: digi_acceleport-do-sanity-checking-for-the-number-of.patch
|
Patch677: digi_acceleport-do-sanity-checking-for-the-number-of.patch
|
||||||
|
|
||||||
Patch678: ims-pcu-sanity-check-against-missing-interfaces.patch
|
|
||||||
|
|
||||||
#rhbz 1315013
|
#rhbz 1315013
|
||||||
Patch683: 0001-uas-Limit-qdepth-at-the-scsi-host-level.patch
|
Patch683: 0001-uas-Limit-qdepth-at-the-scsi-host-level.patch
|
||||||
|
|
||||||
#rhbz 1318079
|
|
||||||
Patch685: 0001-Input-synaptics-handle-spurious-release-of-trackstic.patch
|
|
||||||
|
|
||||||
#CVE-2016-2187 rhbz 1317017 1317010
|
#CVE-2016-2187 rhbz 1317017 1317010
|
||||||
Patch686: input-gtco-fix-crash-on-detecting-device-without-end.patch
|
Patch686: input-gtco-fix-crash-on-detecting-device-without-end.patch
|
||||||
|
|
||||||
@ -2159,6 +2151,10 @@ fi
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Mar 27 2016 Josh Boyer <jwboyer@fedoraproject.org> - 4.6.0-0.rc1.git0.1
|
||||||
|
- Linux v4.6-rc1
|
||||||
|
- Disable debugging options.
|
||||||
|
|
||||||
* Fri Mar 25 2016 Josh Boyer <jwboyer@fedoraproject.org> - 4.6.0-0.rc0.git26.1
|
* Fri Mar 25 2016 Josh Boyer <jwboyer@fedoraproject.org> - 4.6.0-0.rc0.git26.1
|
||||||
- Linux v4.5-12596-g11caf57f6a4b
|
- Linux v4.5-12596-g11caf57f6a4b
|
||||||
- asm-generic, pm+acpi, rtc, hwmon, block, mtd, ubifs, nfsd, kbuild, parisc,
|
- asm-generic, pm+acpi, rtc, hwmon, block, mtd, ubifs, nfsd, kbuild, parisc,
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
a60d48eee08ec0536d5efb17ca819aef linux-4.5.tar.xz
|
a60d48eee08ec0536d5efb17ca819aef linux-4.5.tar.xz
|
||||||
6f557fe90b800b615c85c2ca04da6154 perf-man-4.5.tar.gz
|
6f557fe90b800b615c85c2ca04da6154 perf-man-4.5.tar.gz
|
||||||
54ded8d8f3ae3bcf894d8c399ddbe016 patch-4.5-git26.xz
|
b4787fc5e8e27bf21e294448ff566c04 patch-4.6-rc1.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user