From 81fcbe255a0834d753893df7568e85e15cf47114 Mon Sep 17 00:00:00 2001 From: David P Date: Sat, 19 Oct 2019 22:24:44 -0300 Subject: updpkg: libre/linux-libre 5.3.7_gnu-1 Signed-off-by: David P --- ...ctl-and-CONFIG-to-disallow-unprivileged-C.patch | 6 +-- ...idp-Fix-assumptions-on-the-return-value-o.patch | 63 ++++++++++++++++++++++ libre/linux-libre/60-linux.hook | 1 - libre/linux-libre/PKGBUILD | 61 +++++++++------------ libre/linux-libre/config.armv7h | 8 +-- libre/linux-libre/config.i686 | 8 +-- libre/linux-libre/config.x86_64 | 8 +-- 7 files changed, 104 insertions(+), 51 deletions(-) create mode 100644 libre/linux-libre/0002-Bluetooth-hidp-Fix-assumptions-on-the-return-value-o.patch diff --git a/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index b8a148ae5..4f5e8626a 100644 --- a/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From bd72838cba44f93e3166e76f69c50136a65df228 Mon Sep 17 00:00:00 2001 +From 9927eac296fb506ef31e1c926dfbfc1ceeb44852 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/2] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -40,7 +40,7 @@ index bd7d650d4a99..658f9c052151 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 541fd805fb88..ffd57c812153 100644 +index 3647097e6783..f092d7be6847 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -106,6 +106,11 @@ diff --git a/libre/linux-libre/0002-Bluetooth-hidp-Fix-assumptions-on-the-return-value-o.patch b/libre/linux-libre/0002-Bluetooth-hidp-Fix-assumptions-on-the-return-value-o.patch new file mode 100644 index 000000000..aaefa37bb --- /dev/null +++ b/libre/linux-libre/0002-Bluetooth-hidp-Fix-assumptions-on-the-return-value-o.patch @@ -0,0 +1,63 @@ +From 0bee55974a73eed4a9b9c9e87000df34117e7f69 Mon Sep 17 00:00:00 2001 +From: Dan Elkouby +Date: Fri, 6 Sep 2019 14:06:44 +0300 +Subject: [PATCH 2/2] Bluetooth: hidp: Fix assumptions on the return value of + hidp_send_message + +hidp_send_message was changed to return non-zero values on success, +which some other bits did not expect. This caused spurious errors to be +propagated through the stack, breaking some drivers, such as hid-sony +for the Dualshock 4 in Bluetooth mode. + +As pointed out by Dan Carpenter, hid-microsoft directly relied on that +assumption as well. + +Fixes: 48d9cc9d85dd ("Bluetooth: hidp: Let hidp_send_message return number of queued bytes") + +Signed-off-by: Dan Elkouby +Reviewed-by: Dan Carpenter +Reviewed-by: Jiri Kosina +Signed-off-by: Marcel Holtmann +--- + drivers/hid/hid-microsoft.c | 2 +- + net/bluetooth/hidp/core.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c +index 8b3a922bdad3..2cf83856f2e4 100644 +--- a/drivers/hid/hid-microsoft.c ++++ b/drivers/hid/hid-microsoft.c +@@ -303,7 +303,7 @@ static void ms_ff_worker(struct work_struct *work) + r->magnitude[MAGNITUDE_WEAK] = ms->weak; /* right actuator */ + + ret = hid_hw_output_report(hdev, (__u8 *)r, sizeof(*r)); +- if (ret) ++ if (ret < 0) + hid_warn(hdev, "failed to send FF report\n"); + } + +diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c +index 8d889969ae7e..bef84b95e2c4 100644 +--- a/net/bluetooth/hidp/core.c ++++ b/net/bluetooth/hidp/core.c +@@ -267,7 +267,7 @@ static int hidp_get_raw_report(struct hid_device *hid, + set_bit(HIDP_WAITING_FOR_RETURN, &session->flags); + data[0] = report_number; + ret = hidp_send_ctrl_message(session, report_type, data, 1); +- if (ret) ++ if (ret < 0) + goto err; + + /* Wait for the return of the report. The returned report +@@ -343,7 +343,7 @@ static int hidp_set_raw_report(struct hid_device *hid, unsigned char reportnum, + data[0] = reportnum; + set_bit(HIDP_WAITING_FOR_SEND_ACK, &session->flags); + ret = hidp_send_ctrl_message(session, report_type, data, count); +- if (ret) ++ if (ret < 0) + goto err; + + /* Wait for the ACK from the device. */ +-- +2.23.0 + diff --git a/libre/linux-libre/60-linux.hook b/libre/linux-libre/60-linux.hook index b33873c85..584ce3537 100644 --- a/libre/linux-libre/60-linux.hook +++ b/libre/linux-libre/60-linux.hook @@ -4,7 +4,6 @@ Operation = Install Operation = Upgrade Operation = Remove Target = usr/lib/modules/%KERNVER%/* -Target = usr/lib/modules/%EXTRAMODULES%/* [Action] Description = Updating %PKGBASE% module dependencies... diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 73025e91a..c4f7d01ef 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -12,7 +12,7 @@ pkgbase=linux-libre # Build stock kernel #pkgbase=linux-libre-custom # Build kernel with a different name _srcbasever=5.3-gnu -_srcver=5.3.1-gnu +_srcver=5.3.7-gnu _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname _replacesoldkernels=() # '%' gets replaced with _kernelname @@ -22,8 +22,8 @@ _srcname=linux-${_srcbasever%-*} _archpkgver=${_srcver%-*} pkgver=${_srcver//-/_} pkgrel=1 -rcnver=5.3 -rcnrel=armv7-x8 +rcnver=5.3.6 +rcnrel=armv7-x12 arch=(i686 x86_64 armv7h) url='https://linux-libre.fsfla.org/' license=(GPL2) @@ -53,6 +53,7 @@ source=( # Arch's custom linux patches 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-Bluetooth-hidp-Fix-assumptions-on-the-return-value-o.patch ) source_armv7h=( # armv7h patches, put in the source_armv7h variable just for a more comfortable loop patching @@ -80,7 +81,7 @@ validpgpkeys=( ) sha512sums=('85d83c973ef96ab414354414da70ab3e1c3df19c3088458498cec1594952878b7967a8988bd9e36d4e728cc573a36e6eac056dbcab2f9aa742f18cbb4fb3164f' 'SKIP' - 'f58ba041868ef3475ca3b4ad2943ed2df3da17e4eadb6597131e9903a95b734d4df22d096e7cf66d30778e88c9e799512b2e3f51119c997dc2b7a766c104bcc2' + '22064d7cf6da426eff98b3fd72a52e6dc1349f1c5f53755041b487335fa8ff61fc1083440af38ef631056301d30d827c5c203566d1f720b9a65505e9c2cd3ee8' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -88,10 +89,10 @@ sha512sums=('85d83c973ef96ab414354414da70ab3e1c3df19c3088458498cec1594952878b796 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' - '81c2b00ff053a8d2f8322a4fa55236ea672d72b2c2278985c1cea38dfcfbada6252c6b3665b47e368ed2e25961f3e8f1267a24bcf57890423919e0d5b3d4560d' - 'd2612290da75f07351af713518280ebd03f7b539120a4c7690ea721787254c6cd0f26f3b5ed2c316fdf4864378bc57f7979a89c799f8be1efff5b2cdfb1d3d94' - 'ea3a3813a6ad8ad18436b6010b60b855b9b89257cd959d8629643c6954c2607fa944566fe0368dc626aab11f3fa6a442a85e38f3fb1ea7ddc549509a87429a5c' - '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' + '526c9a439f6a933f4ce8e9c1a46607d7b8e0586c45a5346fbe7a9f2a8d4460c50441c61c4224b0dbb3ed84df9c9bb9709deffe62ce2caefc01cd77cd77c436b7' + 'ffb132f754dc2a943f106232c8af0767d06d9ba0e4a0770bd7880f42ff7759b3fb67e5af79d4987c698664b037964a42fb6384beca797a0e64e0cd77e2998529' + 'bffd1cb46d82871c84417be4698c1318cea50c64cded250f51af6506c1aa60ec339c2bdf1fc0f3348fab72a6c2a88b315e3958fd73d644c3c564bf28d78d9365' + '6b57a66b870b2f525e2dedd8f224b89474fd4ec6ea18484b0a67a1a2b9a4fc95d025cac181504406ea42a35d6c1b184c0d4e38c92815022935fc55746c69c7c1' '2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' '167bc73c6c1c63931806238905dc44c7d87c5a5c0f6293159f2133dfe717fb44081018d810675716d1605ec7dff5e8333b87b19e09e2de21d0448e447437873b' @@ -99,8 +100,9 @@ sha512sums=('85d83c973ef96ab414354414da70ab3e1c3df19c3088458498cec1594952878b796 '143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '2ff49b3e5ee3ca61494cfcd6e3ba5dc31d8b625a193f5c5f24aca55d91cbd60a91897bbf6953e172acc596e72b033b3eeb6041380efd52d90a3c832db563cbf4') -sha512sums_armv7h=('610d522b0c9d466f42edf2d8afa8725e1cd9cf9d38bd6a9dfdfec357e632acdd371e056d7e0c5169d116c7b5f1ecdfd1c39da62a52755ac85e46025424ffbee9' + '5c48b0092ab6a31453e27e6345347fd2d066e1c306c4c8a9144260bf37d0d13879b5cfe688906a06627d39a40a37e229e5300a479b2c9159e93e05ea7adc6b0a' + 'b07d84cac1c784f5652a4681efd54ef89ce9cb0778bd2a633709b7150f9fb59db978dc290b92bcb69b8d211471c22a0be2a81a129318cd7efff601a3c591483c') +sha512sums_armv7h=('078f8dfaabccb2a51c3440ed67a438bad1a83d35ccbcf06cb2d6f7d3c7e140b96c116926a0c503ffc31f849834bc22350467c1f0a48f60815c0d2882e9e01b93' 'SKIP' '9724026836feefa67acb9644acf3ee89d465734af50b6637b8232b705c6259035d485cd1a1f0f08d189921eb75ad095b3e1f7f7e5e0e52302352c453f03ac820' '41f9f7d58bb29311e09dd58105d173fb2e2a955c0e7d632bc8788c2f0a803a45281dfd2be1712d6ec93b58b9f440f3f8398f234bd7ded1c49b1c33b328478203' @@ -163,8 +165,8 @@ prepare() { cp ../config.$CARCH .config make olddefconfig - make -s kernelrelease > ../version - msg2 "Prepared %s version %s" "$pkgbase" "$(<../version)" + make -s kernelrelease > version + msg2 "Prepared %s version %s" "$pkgbase" "$(