[arch-commits] Commit in linux-hardened/trunk (5 files)

Levente Polyak anthraxx at archlinux.org
Thu Sep 6 06:33:32 UTC 2018


    Date: Thursday, September 6, 2018 @ 06:33:32
  Author: anthraxx
Revision: 333580

upgpkg: linux-hardened 4.18.6.a-1

Added:
  linux-hardened/trunk/HID-core-fix-grouping-by-application.patch
  linux-hardened/trunk/drm-i915-Increase-LSPCON-timeout.patch
Modified:
  linux-hardened/trunk/PKGBUILD
  linux-hardened/trunk/config.x86_64
Deleted:
  linux-hardened/trunk/increase-timeout-in-lspcon_wait_mode.patch

--------------------------------------------+
 HID-core-fix-grouping-by-application.patch |   78 +++++++++++++++++++++++++++
 PKGBUILD                                   |   14 ++--
 config.x86_64                              |   14 ++--
 drm-i915-Increase-LSPCON-timeout.patch     |   54 ++++++++++++++++++
 increase-timeout-in-lspcon_wait_mode.patch |   23 -------
 5 files changed, 147 insertions(+), 36 deletions(-)

Added: HID-core-fix-grouping-by-application.patch
===================================================================
--- HID-core-fix-grouping-by-application.patch	                        (rev 0)
+++ HID-core-fix-grouping-by-application.patch	2018-09-06 06:33:32 UTC (rev 333580)
@@ -0,0 +1,78 @@
+From 20acb01da9443e3ca814bb5d17f01b3fea754010 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires at redhat.com>
+Date: Tue, 4 Sep 2018 15:31:14 +0200
+Subject: [PATCH] HID: core: fix grouping by application
+
+commit f07b3c1da92d ("HID: generic: create one input report per
+application type") was effectively the same as MULTI_INPUT:
+hidinput->report was never set, so hidinput_match_application()
+always returned null.
+
+Fix that by testing against the real application.
+
+Note that this breaks some old eGalax touchscreens that expect MULTI_INPUT
+instead of HID_QUIRK_INPUT_PER_APP. Enable this quirk for backward
+compatibility on all non-Win8 touchscreens.
+
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200847
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200849
+link: https://bugs.archlinux.org/task/59699
+link: https://github.com/NixOS/nixpkgs/issues/45165
+
+Cc: stable at vger.kernel.org # v4.18+
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
+Signed-off-by: Jiri Kosina <jkosina at suse.cz>
+---
+ drivers/hid/hid-input.c      | 4 ++--
+ drivers/hid/hid-multitouch.c | 3 +++
+ include/linux/hid.h          | 1 +
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
+index ab93dd5927c3a..a137d2835f328 100644
+--- a/drivers/hid/hid-input.c
++++ b/drivers/hid/hid-input.c
+@@ -1579,6 +1579,7 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,
+ 	input_dev->dev.parent = &hid->dev;
+ 
+ 	hidinput->input = input_dev;
++	hidinput->application = application;
+ 	list_add_tail(&hidinput->list, &hid->inputs);
+ 
+ 	INIT_LIST_HEAD(&hidinput->reports);
+@@ -1674,8 +1675,7 @@ static struct hid_input *hidinput_match_application(struct hid_report *report)
+ 	struct hid_input *hidinput;
+ 
+ 	list_for_each_entry(hidinput, &hid->inputs, list) {
+-		if (hidinput->report &&
+-		    hidinput->report->application == report->application)
++		if (hidinput->application == report->application)
+ 			return hidinput;
+ 	}
+ 
+diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
+index 45968f7970f87..1a987345692a6 100644
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -1476,6 +1476,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
+ 	 */
+ 	hdev->quirks |= HID_QUIRK_INPUT_PER_APP;
+ 
++	if (id->group != HID_GROUP_MULTITOUCH_WIN_8)
++		hdev->quirks |= HID_QUIRK_MULTI_INPUT;
++
+ 	timer_setup(&td->release_timer, mt_expired_timeout, 0);
+ 
+ 	ret = hid_parse(hdev);
+diff --git a/include/linux/hid.h b/include/linux/hid.h
+index 773bcb1d4044e..5482dd6ae9efd 100644
+--- a/include/linux/hid.h
++++ b/include/linux/hid.h
+@@ -520,6 +520,7 @@ struct hid_input {
+ 	const char *name;
+ 	bool registered;
+ 	struct list_head reports;	/* the list of reports */
++	unsigned int application;	/* application usage for this input */
+ };
+ 
+ enum hid_type {

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-09-05 21:24:06 UTC (rev 333579)
+++ PKGBUILD	2018-09-06 06:33:32 UTC (rev 333580)
@@ -4,7 +4,7 @@
 # Contributor: Thomas Baechler <thomas at archlinux.org>
 
 pkgbase=linux-hardened
-_pkgver=4.18.5
+_pkgver=4.18.6
 _hardenedver=a
 _srcname=linux-${_pkgver}
 pkgver=${_pkgver}.${_hardenedver}
@@ -22,18 +22,20 @@
         90-linux.hook  # pacman hook for initramfs regeneration
         linux.preset   # standard config files for mkinitcpio ramdisk
 
-        increase-timeout-in-lspcon_wait_mode.patch
+        drm-i915-Increase-LSPCON-timeout.patch
+        HID-core-fix-grouping-by-application.patch
 )
 replaces=('linux-grsec')
-sha256sums=('fb090a3680eddf6f10bf895bc3075bd3f830e3d2429ce469982db5a28df647bd'
+sha256sums=('05db97fd6891217af6d4203bdc442ef2af78d7902b6a8e9bd348682704c22894'
             'SKIP'
-            'a06238ea0ce66d090fa899d6951c9d40fa993c7b4975088dded2c1e660c1ff69'
+            'd3a244e228a566d536a26fcfe57252bb6e9b61c0f070ef4bb9eaad868196bef3'
             'SKIP'
-            '7d91d3e22235724e4d1b3eafaf3e592ceb3f8344a7761f8b3ce0909e3ed17747'
+            '397aa929fbc57aeedfbf95b6313509ebb56cb8f246dfe2b3f967af8738860f62'
             'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
             '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
             'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
-            '0fa6899b57d32988b70050f1a67f435936273ce1aa98575271d564ccfaf45f77')
+            '2f26b6273ded6d4031fd7115fac843b7bb90df9a28da8dc1b7f49294d3d39ee7'
+            '472f606f043b16336f5335021285efe3a7658fb8467917409cb58c9a57a7b0a5')
 validpgpkeys=(
               'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
               '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman

Modified: config.x86_64
===================================================================
--- config.x86_64	2018-09-05 21:24:06 UTC (rev 333579)
+++ config.x86_64	2018-09-06 06:33:32 UTC (rev 333580)
@@ -1,10 +1,10 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.18.2 Kernel Configuration
+# Linux/x86 4.18.6 Kernel Configuration
 #
 
 #
-# Compiler: gcc (GCC) 8.2.0
+# Compiler: gcc (GCC) 8.2.1 20180831
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -47,7 +47,7 @@
 CONFIG_DYNAMIC_PHYSICAL_MASK=y
 CONFIG_PGTABLE_LEVELS=4
 CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=80200
+CONFIG_GCC_VERSION=80201
 CONFIG_CLANG_VERSION=0
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -322,6 +322,7 @@
 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
 CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
 CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
 CONFIG_HAVE_CMPXCHG_LOCAL=y
@@ -1463,8 +1464,7 @@
 CONFIG_BRIDGE_EBT_SNAT=m
 CONFIG_BRIDGE_EBT_LOG=m
 CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_BPFILTER=y
-CONFIG_BPFILTER_UMH=m
+# CONFIG_BPFILTER is not set
 CONFIG_IP_DCCP=m
 CONFIG_INET_DCCP_DIAG=m
 
@@ -6134,7 +6134,7 @@
 CONFIG_SND_VX_LIB=m
 CONFIG_SND_AC97_CODEC=m
 CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
 CONFIG_SND_DUMMY=m
 CONFIG_SND_ALOOP=m
 CONFIG_SND_VIRMIDI=m
@@ -7354,7 +7354,7 @@
 #
 # Platform RTC drivers
 #
-CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_CMOS=y
 CONFIG_RTC_DRV_DS1286=m
 CONFIG_RTC_DRV_DS1511=m
 CONFIG_RTC_DRV_DS1553=m

Added: drm-i915-Increase-LSPCON-timeout.patch
===================================================================
--- drm-i915-Increase-LSPCON-timeout.patch	                        (rev 0)
+++ drm-i915-Increase-LSPCON-timeout.patch	2018-09-06 06:33:32 UTC (rev 333580)
@@ -0,0 +1,54 @@
+From 299c2a904b1e8d5096d4813df6371357d97a6cd1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fredrik=20Sch=C3=B6n?= <fredrikschon at gmail.com>
+Date: Fri, 17 Aug 2018 22:07:28 +0200
+Subject: [PATCH] drm/i915: Increase LSPCON timeout
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+100 ms is not enough time for the LSPCON adapter on Intel NUC devices to
+settle. This causes dropped display modes at boot or screen reconfiguration.
+Empirical testing can reproduce the error up to a timeout of 190 ms. Basic
+boot and stress testing at 200 ms has not (yet) failed.
+
+Increase timeout to 400 ms to get some margin of error.
+
+Changes from v1:
+The initial suggestion of 1000 ms was lowered due to concerns about delaying
+valid timeout cases.
+Update patch metadata.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107503
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1570392
+Fixes: 357c0ae9198a ("drm/i915/lspcon: Wait for expected LSPCON mode to settle")
+Cc: Shashank Sharma <shashank.sharma at intel.com>
+Cc: Imre Deak <imre.deak at intel.com>
+Cc: Jani Nikula <jani.nikula at intel.com>
+Cc: <stable at vger.kernel.org> # v4.11+
+Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
+Reviewed-by: Shashank Sharma <shashank.sharma at intel.com>
+Signed-off-by: Fredrik Schön <fredrik.schon at gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula at intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20180817200728.8154-1-fredrik.schon@gmail.com
+(cherry picked from commit 59f1c8ab30d6f9042562949f42cbd3f3cf69de94)
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
+---
+ drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
+index 5dae16ccd9f1..3e085c5f2b81 100644
+--- a/drivers/gpu/drm/i915/intel_lspcon.c
++++ b/drivers/gpu/drm/i915/intel_lspcon.c
+@@ -74,7 +74,7 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon,
+ 	DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n",
+ 		      lspcon_mode_name(mode));
+ 
+-	wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100);
++	wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 400);
+ 	if (current_mode != mode)
+ 		DRM_ERROR("LSPCON mode hasn't settled\n");
+ 
+-- 
+2.18.0
+

Deleted: increase-timeout-in-lspcon_wait_mode.patch
===================================================================
--- increase-timeout-in-lspcon_wait_mode.patch	2018-09-05 21:24:06 UTC (rev 333579)
+++ increase-timeout-in-lspcon_wait_mode.patch	2018-09-06 06:33:32 UTC (rev 333580)
@@ -1,23 +0,0 @@
-From f9199cfdc7f09601adbb40827077991a1f6bd73a Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
-Date: Mon, 13 Aug 2018 00:40:29 +0200
-Subject: [PATCH] Increase timeout in lspcon_wait_mode
-
-From https://bugs.freedesktop.org/attachment.cgi?id=141051&action=edit
----
- drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
-index 8ae8f42f430a1..be1b08f589a46 100644
---- a/drivers/gpu/drm/i915/intel_lspcon.c
-+++ b/drivers/gpu/drm/i915/intel_lspcon.c
-@@ -74,7 +74,7 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon,
- 	DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n",
- 		      lspcon_mode_name(mode));
- 
--	wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100);
-+	wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 1000);
- 	if (current_mode != mode)
- 		DRM_ERROR("LSPCON mode hasn't settled\n");
- 



More information about the arch-commits mailing list