summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--HID-chicony-Add-support-for-Acer-Aspire-Switch-12.patch103
-rw-r--r--config-generic2
-rw-r--r--config-x86-generic4
-rw-r--r--kernel.spec10
-rw-r--r--security-device_cgroup-fix-RCU-lockdep-splat.patch71
-rw-r--r--sources2
6 files changed, 84 insertions, 108 deletions
diff --git a/HID-chicony-Add-support-for-Acer-Aspire-Switch-12.patch b/HID-chicony-Add-support-for-Acer-Aspire-Switch-12.patch
deleted file mode 100644
index 2baf72e4c..000000000
--- a/HID-chicony-Add-support-for-Acer-Aspire-Switch-12.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 98f07385212073536f303c07ece455acdd4d267f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9=20=D0=9A=D1=83?=
- =?UTF-8?q?=D0=B4=D1=80=D1=8F=D0=B2=D1=86=D0=B5=D0=B2?=
- <nkudriavtsev@gmail.com>
-Date: Tue, 21 Jul 2015 13:31:52 +0300
-Subject: [PATCH] HID: chicony: Add support for Acer Aspire Switch 12
-
-Acer Aspire Switch 12 keyboard Chicony's controller reports too big usage
-index on the 1st interface. The patch fixes the report. The work based on
-solution from drivers/hid/hid-holtek-mouse.c
-
-Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=101721
-
-Signed-off-by: Nicholas Kudriavtsev <nkudriavtsev@gmail.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
----
- drivers/hid/hid-chicony.c | 26 ++++++++++++++++++++++++++
- drivers/hid/hid-core.c | 1 +
- drivers/hid/hid-ids.h | 1 +
- 3 files changed, 28 insertions(+)
-
-diff --git a/drivers/hid/hid-chicony.c b/drivers/hid/hid-chicony.c
-index b613d5a79684..bc3cec199fee 100644
---- a/drivers/hid/hid-chicony.c
-+++ b/drivers/hid/hid-chicony.c
-@@ -20,6 +20,7 @@
- #include <linux/input.h>
- #include <linux/hid.h>
- #include <linux/module.h>
-+#include <linux/usb.h>
-
- #include "hid-ids.h"
-
-@@ -57,10 +58,34 @@ static int ch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- return 1;
- }
-
-+static __u8 *ch_switch12_report_fixup(struct hid_device *hdev, __u8 *rdesc,
-+ unsigned int *rsize)
-+{
-+ struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
-+
-+ if (intf->cur_altsetting->desc.bInterfaceNumber == 1) {
-+ /* Change usage maximum and logical maximum from 0x7fff to
-+ * 0x2fff, so they don't exceed HID_MAX_USAGES */
-+ switch (hdev->product) {
-+ case USB_DEVICE_ID_CHICONY_ACER_SWITCH12:
-+ if (*rsize >= 128 && rdesc[64] == 0xff && rdesc[65] == 0x7f
-+ && rdesc[69] == 0xff && rdesc[70] == 0x7f) {
-+ hid_info(hdev, "Fixing up report descriptor\n");
-+ rdesc[65] = rdesc[70] = 0x2f;
-+ }
-+ break;
-+ }
-+
-+ }
-+ return rdesc;
-+}
-+
-+
- static const struct hid_device_id ch_devices[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
-+ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
- { }
- };
- MODULE_DEVICE_TABLE(hid, ch_devices);
-@@ -68,6 +93,7 @@ MODULE_DEVICE_TABLE(hid, ch_devices);
- static struct hid_driver ch_driver = {
- .name = "chicony",
- .id_table = ch_devices,
-+ .report_fixup = ch_switch12_report_fixup,
- .input_mapping = ch_input_mapping,
- };
- module_hid_driver(ch_driver);
-diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index e6fce23b121a..f90ca6574221 100644
---- a/drivers/hid/hid-core.c
-+++ b/drivers/hid/hid-core.c
-@@ -1807,6 +1807,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
-+ { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_PRODIKEYS_PCMIDI) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CYGNAL, USB_DEVICE_ID_CYGNAL_CP2112) },
- { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) },
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index b3b225b75d0a..79210ca8eff1 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -233,6 +233,7 @@
- #define USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE 0x1053
- #define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123
- #define USB_DEVICE_ID_CHICONY_AK1D 0x1125
-+#define USB_DEVICE_ID_CHICONY_ACER_SWITCH12 0x1421
-
- #define USB_VENDOR_ID_CHUNGHWAT 0x2247
- #define USB_DEVICE_ID_CHUNGHWAT_MULTITOUCH 0x0001
---
-2.4.3
-
diff --git a/config-generic b/config-generic
index 00c6bf5b6..c10793af4 100644
--- a/config-generic
+++ b/config-generic
@@ -3882,6 +3882,7 @@ CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
+CONFIG_HID_GEMBIRD=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_ACRUX=m
@@ -5137,6 +5138,7 @@ CONFIG_DMA_ENGINE=y
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
+# CONFIG_IDMA64 is not set
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
# CONFIG_TIMB_DMA is not set
# CONFIG_DMATEST is not set
diff --git a/config-x86-generic b/config-x86-generic
index 94870d2eb..d780bc3ed 100644
--- a/config-x86-generic
+++ b/config-x86-generic
@@ -501,10 +501,14 @@ CONFIG_NFC_MICROREAD_MEI=m
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_LPSS=y
+CONFIG_IDMA64=m
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_PCI=m
+
CONFIG_IOSF_MBI=m
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_PWM_LPSS=m
diff --git a/kernel.spec b/kernel.spec
index 0b6c4b995..c68e26150 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -67,7 +67,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 0
# The git snapshot level
-%define gitrev 3
+%define gitrev 4
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@@ -582,9 +582,6 @@ Patch502: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
Patch503: drm-i915-turn-off-wc-mmaps.patch
-#rhbz 1244511
-Patch507: HID-chicony-Add-support-for-Acer-Aspire-Switch-12.patch
-
Patch508: kexec-uefi-copy-secure_boot-flag-in-boot-params.patch
#rhbz 1239050
@@ -606,6 +603,8 @@ Patch514: drm-qxl-validate-monitors-config-modes.patch
Patch517: vmwgfx-Rework-device-initialization.patch
Patch518: drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
+Patch519: security-device_cgroup-fix-RCU-lockdep-splat.patch
+
Patch904: kdbus.patch
# END OF PATCH DEFINITIONS
@@ -2053,6 +2052,9 @@ fi
#
#
%changelog
+* Wed Sep 02 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.3.0-0.rc0.git4.1
+- Linux v4.2-4282-gae982073095a
+
* Wed Sep 02 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.3.0-0.rc0.git3.1
- Linux v4.2-3986-g73b6fa8e49c2
diff --git a/security-device_cgroup-fix-RCU-lockdep-splat.patch b/security-device_cgroup-fix-RCU-lockdep-splat.patch
new file mode 100644
index 000000000..2de959ee9
--- /dev/null
+++ b/security-device_cgroup-fix-RCU-lockdep-splat.patch
@@ -0,0 +1,71 @@
+From 28e1b4326abcc66839c6e21dd410fe983ee83fb3 Mon Sep 17 00:00:00 2001
+From: Felipe Balbi <balbi@ti.com>
+Date: Wed, 2 Sep 2015 08:12:28 -0500
+Subject: [PATCH] security: device_cgroup: fix RCU lockdep splat
+
+while booting AM437x device, the following splat
+triggered:
+
+[ 12.005238] ===============================
+[ 12.009749] [ INFO: suspicious RCU usage. ]
+[ 12.014116] 4.2.0-next-20150831 #1154 Not tainted
+[ 12.019050] -------------------------------
+[ 12.023408] security/device_cgroup.c:405 device_cgroup:verify_new_ex called without proper synchronization!
+[ 12.033576] other info that might help us debug this:
+
+[ 12.041942] rcu_scheduler_active = 1, debug_locks = 0
+[ 12.048796] 4 locks held by systemd/1:
+[ 12.052700] #0: (sb_writers#7){.+.+.+}, at: [<c017af84>] __sb_start_write+0x8c/0xb0
+[ 12.060954] #1: (&of->mutex){+.+.+.}, at: [<c01f1600>] kernfs_fop_write+0x50/0x1b8
+[ 12.069085] #2: (s_active#30){++++.+}, at: [<c01f1608>] kernfs_fop_write+0x58/0x1b8
+[ 12.077310] #3: (devcgroup_mutex){+.+...}, at: [<c0317bfc>] devcgroup_access_write+0x20/0x658
+[ 12.086575] stack backtrace:
+[ 12.091124] CPU: 0 PID: 1 Comm: systemd Not tainted 4.2.0-next-20150831 #1154
+[ 12.098609] Hardware name: Generic AM43 (Flattened Device Tree)
+[ 12.104807] [<c001770c>] (unwind_backtrace) from [<c0013a58>] (show_stack+0x10/0x14)
+[ 12.112924] [<c0013a58>] (show_stack) from [<c034f014>] (dump_stack+0x84/0x9c)
+[ 12.120491] [<c034f014>] (dump_stack) from [<c0317a04>] (verify_new_ex+0xc4/0xdc)
+[ 12.128326] [<c0317a04>] (verify_new_ex) from [<c0317f50>] (devcgroup_access_write+0x374/0x658)
+[ 12.137426] [<c0317f50>] (devcgroup_access_write) from [<c00d2800>] (cgroup_file_write+0x28/0x1bc)
+[ 12.146796] [<c00d2800>] (cgroup_file_write) from [<c01f1670>] (kernfs_fop_write+0xc0/0x1b8)
+[ 12.155620] [<c01f1670>] (kernfs_fop_write) from [<c0177c94>] (__vfs_write+0x1c/0xd8)
+[ 12.163783] [<c0177c94>] (__vfs_write) from [<c0178594>] (vfs_write+0x90/0x16c)
+[ 12.171426] [<c0178594>] (vfs_write) from [<c0178db4>] (SyS_write+0x44/0x9c)
+[ 12.178806] [<c0178db4>] (SyS_write) from [<c000f680>] (ret_fast_syscall+0x0/0x1c)
+
+Fix it by making sure rcu_read_lock() is held
+around calls to parent_has_perm().
+
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+---
+ security/device_cgroup.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/security/device_cgroup.c b/security/device_cgroup.c
+index 73455089feef..dd77ed206fa4 100644
+--- a/security/device_cgroup.c
++++ b/security/device_cgroup.c
+@@ -608,6 +608,7 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
+ int count, rc = 0;
+ struct dev_exception_item ex;
+ struct dev_cgroup *parent = css_to_devcgroup(devcgroup->css.parent);
++ int ret;
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+@@ -734,7 +735,11 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
+ break;
+ }
+
+- if (!parent_has_perm(devcgroup, &ex))
++ rcu_read_lock();
++ ret = parent_has_perm(devcgroup, &ex);
++ rcu_read_unlock();
++
++ if (!ret)
+ return -EPERM;
+ rc = dev_exception_add(devcgroup, &ex);
+ break;
+--
+2.4.3
+
diff --git a/sources b/sources
index c16149f23..44a75f318 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
3d5ea06d767e2f35c999eeadafc76523 linux-4.2.tar.xz
4c964bfba54d65b5b54cc898baddecad perf-man-4.2.tar.gz
-68a2dc7c75dad784e4ff57b74b862376 patch-4.2-git3.xz
+02da0901d12a9743dba00f8ff51828ce patch-4.2-git4.xz