diff options
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | config.x86_64 | 6 | ||||
-rw-r--r-- | mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch | 43 |
3 files changed, 53 insertions, 6 deletions
@@ -44,6 +44,8 @@ source=(https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz 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=('9faa1dd896eaea961dc6e886697c0b3301277102e5bc976b2758f9a62d3ccd13' 'SKIP' @@ -54,12 +56,13 @@ sha256sums=('9faa1dd896eaea961dc6e886697c0b3301277102e5bc976b2758f9a62d3ccd13' '27b96297102a9ccf690c1bdc5f21bc10308f6de90396385dce7341fb8e5a2116' '226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d' 'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503' - '796fc70dbad0211fc3de86203efdb4bbbdfe082da98e7891aaf8869cef57cb8d' + '5b72267157627aeb77b76494ed5dd13df9c67c87dbd75a82cace78ef5e03d6ed' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' 'd744e7f4552896670bc8b99361534eec7ba095bebc2462ef0e5ee433e6341a0a' - '8114295b8c07795a15b9f8eafb0f515c34661a1e05512da818a34581dd30f87e') + '8114295b8c07795a15b9f8eafb0f515c34661a1e05512da818a34581dd30f87e' + 'ef7c149d9af24efea551cec86e26f52c9c1cc02714335e948f929985ff414676') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -80,6 +83,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}" @@ -157,7 +161,7 @@ build() { _package() { pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" - [ "${pkgbase}" = "linux-hardened" ] && groups=('base') + [ "${pkgbase}" = "linux" ] && groups=('base') depends=('coreutils' 'linux-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 4af0e38..091cabd 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 + |