diff options
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | config.x86_64 | 6 | ||||
-rw-r--r-- | mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch | 43 |
3 files changed, 56 insertions, 9 deletions
@@ -5,7 +5,7 @@ pkgbase=linux-libre-hardened-ck _majver=4.17 -_minver=5 +_minver=6 _fullver=${_majver}.${_minver} _basever=${_majver}-gnu _pkgver=${_fullver}-gnu @@ -42,22 +42,25 @@ source=(https://linux-libre.fsfla.org/pub/linux-libre/releases/${_basever}/linux ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch # https://bugs.archlinux.org/task/56711 Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch + # Fix iwd provoking a BUG + mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch ) sha256sums=('eb221b36ac19cba3c11734b09230dc89c2f33054c45501b23cc94e9370c66b29' 'SKIP' - '3b8c15d4b17928a36ea4c3fe2deede6e03c3346d0ef046a051c8594bf70fee49' + 'a6df0ba6f310c9d4e7b001cf796b41b8bd263457b62b74d65753453bdc13b952' 'SKIP' - '7b39254f8a01e1c5f3757360f18eb68d250b4ae9393176cceddd6122203f94e0' + '682684b99a2cea2937d3365b4dc43df313c7b87338a2612a2976172d3891a762' 'SKIP' '27b96297102a9ccf690c1bdc5f21bc10308f6de90396385dce7341fb8e5a2116' '226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d' 'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503' - '49f8c4881637f376c6baad8fb1442951c8dba8ad29ee974da7a40de201d02f1c' + '0c90392803fa8e8b2cf970db7b2893ae970f4560550ee03eac9df06efbc780ec' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' 'd744e7f4552896670bc8b99361534eec7ba095bebc2462ef0e5ee433e6341a0a' - '8114295b8c07795a15b9f8eafb0f515c34661a1e05512da818a34581dd30f87e') + '8114295b8c07795a15b9f8eafb0f515c34661a1e05512da818a34581dd30f87e' + 'ef7c149d9af24efea551cec86e26f52c9c1cc02714335e948f929985ff414676') validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay @@ -77,6 +80,7 @@ prepare() { msg2 "Applying hotfixes" patch -p1 -i "${srcdir}/ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch" patch -p1 -i "${srcdir}/Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch" + patch -p1 -i "${srcdir}/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch" # fix naming schema in EXTRAVERSION of ck patch set #sed -i -re "s/^(.EXTRAVERSION).*$/\1 = /" "../${_ckpatchname}" @@ -154,7 +158,7 @@ build() { _package() { pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" - [ "${pkgbase}" = "linux-hardened" ] && groups=('base') + [ "${pkgbase}" = "linux-libre" ] && groups=('base') depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7') optdepends=('crda: to set the correct wireless channels of your country') backup=("etc/mkinitcpio.d/${pkgbase}.preset") diff --git a/config.x86_64 b/config.x86_64 index 66982a0..e71851d 100644 --- a/config.x86_64 +++ b/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.17.5 Kernel Configuration +# Linux/x86 4.17.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -6305,7 +6305,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 @@ -6828,7 +6828,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/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch b/mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch new file mode 100644 index 0000000..6bc71e6 --- /dev/null +++ b/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 + |