summaryrefslogtreecommitdiff
path: root/libre/linux-libre-hardened
diff options
context:
space:
mode:
Diffstat (limited to 'libre/linux-libre-hardened')
-rw-r--r--libre/linux-libre-hardened/PKGBUILD16
-rw-r--r--libre/linux-libre-hardened/config.x86_646
-rw-r--r--libre/linux-libre-hardened/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch43
3 files changed, 57 insertions, 8 deletions
diff --git a/libre/linux-libre-hardened/PKGBUILD b/libre/linux-libre-hardened/PKGBUILD
index 59e441470..cad5e7d47 100644
--- a/libre/linux-libre-hardened/PKGBUILD
+++ b/libre/linux-libre-hardened/PKGBUILD
@@ -9,7 +9,7 @@
pkgbase=linux-libre-hardened
_pkgbasever=4.17-gnu
-_pkgver=4.17.3-gnu
+_pkgver=4.17.6-gnu
_hardenedver=a
_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
@@ -24,6 +24,7 @@ arch=('x86_64')
url="https://linux-libre.fsfla.org/"
license=('GPL2')
makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf')
+optdepends=('usbctl: deny_new_usb control')
options=('!strip')
source=(
"https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign}
@@ -43,6 +44,7 @@ source=(
'0002-fix-Atmel-maXTouch-touchscreen-support.patch'
'ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch'
'Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch'
+ 'mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch'
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
@@ -52,9 +54,9 @@ validpgpkeys=(
)
sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447690e64ec0e6488a778be8a7384891c003f39029ff5799f9884482628aadf2'
'SKIP'
- 'f885c0025d1c5c4a7b194fc0c59c602760a2e4bc382c8dd66987d8de8c4c18d463793d137c9beb0030edb63bedd215587e6bf3e254d8e03f1f59ffe49ee1752f'
+ 'e87d8039431db2fc26480d2079705056638a2147e97840a331f520ad273e4a0ac57b4d939ee1fe8fff9ac8518680be21513a2a0ab7dda618ca85b603b218c22b'
'SKIP'
- '700219e971944896037c1825b8a1df5b3be98eb7a76622e801bd01719f6c8147a35689cf890b23cfaf4eea96643981de17e7502af892fa37ed8baffb62e96337'
+ '01b034b73c91290b03b39be355d818db8bb6f03d4a0632f3c149aac82a89aec10a970a21358bc2182bfa24e7d32db39bb0055e7f89a2ab47e74e0e2e6bb77165'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -62,14 +64,15 @@ sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447
'SKIP'
'7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78'
'SKIP'
- '356b68a6aa185311e3e2abb6bc4666f81367f6d0758a272452faf7fa4560c42449a840bbed10cdd881300fc86da932fa903fcba853a8a79c3f3acebf4187479c'
+ '3a001a8d854182951ce8162c7de1f8719aa4426aa7c6130f56c5abd279629bcd830db8c67a53827deb30435bbf7723a84e4036ad1d6d0b0ee72259baf4e18d77'
'7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
'4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
'2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
'02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
'994d328326ca1e65fc4b1ea26d858e040367112881af4d2f33b953fd138fa44009f898211f84e29e1158ca61bd7080e871933dba4d7e8f084640a02110cfc920'
- 'cc8852b089aa24f588ad1af726503ecd1012ad7e1cbc47ea77f03a5f7aecd25306d40f2e16b8a1afeafe7e2e97b6b6840c9f462ed7be358090117e2e024df1bd')
+ 'cc8852b089aa24f588ad1af726503ecd1012ad7e1cbc47ea77f03a5f7aecd25306d40f2e16b8a1afeafe7e2e97b6b6840c9f462ed7be358090117e2e024df1bd'
+ '662e8cc92c2034de247530a981ed24d3d85109e5d0742a9c53c6def9528c151c3177c95992b8d9d1173b64817960ac7c6cb029817fa39cce48d8199823b8271a')
_kernelname=${pkgbase#linux-libre}
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}")
@@ -100,6 +103,9 @@ prepare() {
# https://bugs.archlinux.org/task/56711
patch -Np1 -i ../Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch
+ # Fix iwd provoking a BUG
+ patch -Np1 -i ../mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch
+
# maintain the TTY over USB disconnects
# http://www.coreboot.org/EHCI_Gadget_Debug
patch -p1 -i ../0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch
diff --git a/libre/linux-libre-hardened/config.x86_64 b/libre/linux-libre-hardened/config.x86_64
index b49a14a2d..cd08c0416 100644
--- a/libre/linux-libre-hardened/config.x86_64
+++ b/libre/linux-libre-hardened/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.17.3-gnu-1-hardened Kernel Configuration
+# Linux/x86 4.17.6-gnu-1-hardened Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -6213,7 +6213,7 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m
-CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m
+# CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set
CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
@@ -6736,7 +6736,7 @@ CONFIG_USB_SERIAL_WISHBONE=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_UPD78F0730=m
-# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_SERIAL_DEBUG=m
#
# USB Miscellaneous drivers
diff --git a/libre/linux-libre-hardened/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch b/libre/linux-libre-hardened/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch
new file mode 100644
index 000000000..6bc71e6a4
--- /dev/null
+++ b/libre/linux-libre-hardened/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch
@@ -0,0 +1,43 @@
+From e7441c9274a6a5453e06f4c2b8b5f72eca0a3f17 Mon Sep 17 00:00:00 2001
+From: Denis Kenzior <denkenz@gmail.com>
+Date: Tue, 19 Jun 2018 10:39:50 -0500
+Subject: [PATCH] mac80211: disable BHs/preemption in
+ ieee80211_tx_control_port()
+
+On pre-emption enabled kernels the following print was being seen due to
+missing local_bh_disable/local_bh_enable calls. mac80211 assumes that
+pre-emption is disabled in the data path.
+
+ BUG: using smp_processor_id() in preemptible [00000000] code: iwd/517
+ caller is __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
+ [...]
+ Call Trace:
+ dump_stack+0x5c/0x80
+ check_preemption_disabled.cold.0+0x46/0x51
+ __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
+
+Fixes: 911806491425 ("mac80211: Add support for tx_control_port")
+Signed-off-by: Denis Kenzior <denkenz@gmail.com>
+[commit message rewrite, fixes tag]
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+---
+ net/mac80211/tx.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
+index 44b5dfe8727d..fa1f1e63a264 100644
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -4845,7 +4845,9 @@ int ieee80211_tx_control_port(struct wiphy *wiphy, struct net_device *dev,
+ skb_reset_network_header(skb);
+ skb_reset_mac_header(skb);
+
++ local_bh_disable();
+ __ieee80211_subif_start_xmit(skb, skb->dev, flags);
++ local_bh_enable();
+
+ return 0;
+ }
+--
+2.18.0
+