diff options
Diffstat (limited to 'libre/linux-libre-hardened')
-rw-r--r-- | libre/linux-libre-hardened/PKGBUILD | 16 | ||||
-rw-r--r-- | libre/linux-libre-hardened/config.x86_64 | 6 | ||||
-rw-r--r-- | libre/linux-libre-hardened/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch | 43 |
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 + |