diff options
5 files changed, 99 insertions, 39 deletions
diff --git a/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch b/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch index c40f1002e..785150403 100644 --- a/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch +++ b/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch @@ -1,7 +1,7 @@ -From 5dde1cf2f63a2e20ff411eac47fb5a53230642fe Mon Sep 17 00:00:00 2001 +From 7e7b8d7a0e74d0d4c74abee0334a771458a3ed79 Mon Sep 17 00:00:00 2001 From: Serge Hallyn <serge.hallyn@canonical.com> Date: Fri, 31 May 2013 19:12:12 +0100 -Subject: [PATCH 1/2] add sysctl to disallow unprivileged CLONE_NEWUSER by +Subject: [PATCH 1/3] add sysctl to disallow unprivileged CLONE_NEWUSER by default Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> diff --git a/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch b/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch index 06c514258..79860decc 100644 --- a/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch +++ b/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch @@ -1,7 +1,7 @@ -From 670aed8119f293b41b82195cf96fa78c86cc3d49 Mon Sep 17 00:00:00 2001 +From 01d91bc0dac1c22f60fb6d225dcacc7fa9ae2d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Sch=C3=B6n?= <fredrikschon@gmail.com> Date: Fri, 17 Aug 2018 22:07:28 +0200 -Subject: [PATCH 2/2] drm/i915: Increase LSPCON timeout +Subject: [PATCH 2/3] drm/i915: Increase LSPCON timeout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch b/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch new file mode 100644 index 000000000..da196890f --- /dev/null +++ b/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch @@ -0,0 +1,81 @@ +From 20acb01da9443e3ca814bb5d17f01b3fea754010 Mon Sep 17 00:00:00 2001 +From: Benjamin Tissoires <benjamin.tissoires@redhat.com> +Date: Tue, 4 Sep 2018 15:31:14 +0200 +Subject: [PATCH 3/3] 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@vger.kernel.org # v4.18+ +Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> +Signed-off-by: Jiri Kosina <jkosina@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 ab93dd5927c3..a137d2835f32 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 45968f7970f8..1a987345692a 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 773bcb1d4044..5482dd6ae9ef 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 { +-- +2.18.0 + diff --git a/kernels/linux-libre-xtreme/PKGBUILD b/kernels/linux-libre-xtreme/PKGBUILD index 9f8103cc2..911c55ab6 100644 --- a/kernels/linux-libre-xtreme/PKGBUILD +++ b/kernels/linux-libre-xtreme/PKGBUILD @@ -11,7 +11,7 @@ pkgbase=linux-libre-xtreme _srcbasever=4.18-gnu -_srcver=4.18.5-gnu +_srcver=4.18.6-gnu _hardenedver=a _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname @@ -22,7 +22,7 @@ _srcname=linux-${_srcbasever%-*} _archpkgver=${_srcver%-*} pkgver=${_srcver//-/_} pkgrel=1 -rcnrel=armv7-x5 +rcnrel=armv7-x6 arch=(i686 x86_64 armv7h) url="https://wiki.parabola.nu/Xtreme" license=(GPL2) @@ -62,7 +62,7 @@ source=( '0002-fix-Atmel-maXTouch-touchscreen-support.patch' '0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch' '0002-drm-i915-Increase-LSPCON-timeout.patch' - 'increase-timeout-in-lspcon_wait_mode.patch' + '0003-HID-core-fix-grouping-by-application.patch' ) validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva @@ -72,9 +72,9 @@ validpgpkeys=( ) sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471d3063016a4eb3f68d42879e18ee314ab30716116805fee35b5084b23df2a9' 'SKIP' - '4185dde406aafd020a0c7ab5cadff02a6f92812b5e7616c39b85051af23adc6bb0927f75bcc5213f9df8d34d0e7deb7c930844565318dd771b6695763deef174' + '783c7d8dbcda5a6f6b4ab2e6396b7d7f7ece19a0dafc3c72d429d072bfef0849cb33157cc9edbdcc5c696b37e985e6ec18a23074fd259c9280049894cc996ffc' 'SKIP' - 'f1dddfb63c5fe1235f0b5c19947919a1d804ef52f57939921e571bed07f2281ecf68dd4a17ce7dc88ada78b1ad4d36171f9092765141f5909adaaefd3bf5fed8' + 'a09febafcde0e2e05a6c1bce81022489ab54bab3b95f2bb0ff0fe58683816ac439ec72f3eca4cee05c613dd5606942b550c6898ceb101af28700fcc731288c8a' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -82,9 +82,9 @@ sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' - 'b0533d333e6e4cc3bc83daf6bd7fc21b530597fff392a642616d788f8ebf74e23e0943633948a30f519c205e0a83ec2cd80be5c1c1489f8a375f7d65ba6b21cb' - 'a35c95f7fe245c44e175efb2fc8d3a8596c859a189e636f324795ba733b2f8faabe909a9e030cbb39134284ad8465faa66d5addce43898c54bf08f138560074b' - 'b084f3aad1330edd9e41f2b4e4d193112d5c7ce9c795db4ad76e9a832fb9db147a46aec8a91b759365f4c1c363d740cebc0932d0596e93d8b0fef431eb7d43d2' + 'ee37f8e805b907c3d35e3d928599995ec78da86863c3ce204cb5b5bf439fc7f858fa7c7119202a4b305e664d0f09823be756d12b48e7dc8fa3ac0bd6bc901402' + 'cd7ca8f89ae78b08f03f6fb4145aad5e24122f094d0dd6bdfa9e324e456f928a8c9df49c9b162e127190ac6fcd4a9f7c582df91b194b46bedf8dd84cf47bab5e' + '5b81fecfc24b2a74b26043b005700493b6338ebc517a6a42112eba317bcf2c21bf2c902612a25f7750504444258a71402933a889aafe5497b1a1a8911b230a8b' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' @@ -106,9 +106,9 @@ sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471 '073c48fea2989334451b9020e8151c0385b07affcb2bc5f778fd5f9d2d8182e40dcd04edde4d53648c1ed8cea4721afc04267a72e429be3612d2f77f5d0fd459' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '8ed3859b495f88287222bd87927fad795b409541c113784bea933099d10bb62bbf24dd7f847dd47f8742d83d7143d9a0d04642528c2c1d41ef7e0ffde3d4a0b3' - 'f97ec2ad3d919c1a59211dab61be6701e3ebd5647afc725c32365bc083272d770c0ad8be5bf8b43b32905d2d107da822bd1013668a5cf75ec51770e151e4f5f8' - '0555e6099878dabd835284c173a0d3f98d72b37168cc7a5938db5d3639592d8a7b59ab2914f9922dfcd6d678a6bf713a07402dab1c7008182174b7e0ad0a45b6') + 'd7e50acea0a21dc4c65d0ac093192e02ed995a6110f714b1f8a3c60c44a4d4da09ffbf90bcf20ce2e285b4f58f3972957e30b26c57e233c483ce049177fdfb13' + '15254ce2163c296f4823b3cfea31f68d4d9f0da3cc8c1aff7ec8d6d957fb1f437b39c4b7737056ba86d2405a8a5fd407bd7c2ff6d273089499daac0630b2bf0e' + '559fe854b46bcb4967d01f97dcc98c9c5ea52a3a3fa70ea6b19d78f0c5b19598d058a82e33006b7b6afd54cf7e073c8622d4a59eac24151685b5ec20dad1eace') _kernelname=${pkgbase#linux-libre} _replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}") @@ -161,11 +161,13 @@ prepare() { patch -p1 -i ../linux-hardened-${_srcver%-*}.${_hardenedver}.patch # Arch's linux-hardened patches - patch -p1 -i ../increase-timeout-in-lspcon_wait_mode.patch + patch -p1 -i ../0002-drm-i915-Increase-LSPCON-timeout.patch + patch -p1 -i ../0003-HID-core-fix-grouping-by-application.patch else # Arch's linux patches patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch patch -p1 -i ../0002-drm-i915-Increase-LSPCON-timeout.patch + patch -p1 -i ../0003-HID-core-fix-grouping-by-application.patch fi # maintain the TTY over USB disconnects diff --git a/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch b/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch deleted file mode 100644 index b94872afe..000000000 --- a/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f9199cfdc7f09601adbb40827077991a1f6bd73a Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@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"); - |