From 812e60f37953825700cae6971f5160eb764c16c3 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 9 Jul 2019 14:46:03 -0700 Subject: Updated to 5.2.0 Re-enabled kernel support for Intel ME, as me_cleaner relies on it. Disabled several insecure filesystems by default. --- ...wlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch | 52 ++ PKGBUILD | 54 +- config.x86_64 | 702 ++++++++++++++++----- 3 files changed, 643 insertions(+), 165 deletions(-) create mode 100644 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch diff --git a/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch b/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch new file mode 100644 index 0000000..d811047 --- /dev/null +++ b/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch @@ -0,0 +1,52 @@ +From f6f6b798c7330d7851fee4bbe835c3954886fc3f Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Wed, 3 Jul 2019 11:10:49 +0300 +Subject: iwlwifi: mvm: disable TX-AMSDU on older NICs + +On older NICs, we occasionally see issues with A-MSDU support, +where the commands in the FIFO get confused and then we see an +assert EDC because the next command in the FIFO isn't TX. + +We've tried to isolate this issue and understand where it comes +from, but haven't found any errors in building the A-MSDU in +software. + +At least for now, disable A-MSDU support on older hardware so +that users can use it again without fearing the assert. + +This fixes https://bugzilla.kernel.org/show_bug.cgi?id=203315. + +Signed-off-by: Johannes Berg +Signed-off-by: Luca Coelho +Acked-by: Kalle Valo +--- + drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +index fdbabca0280e..3a076e5e319f 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +@@ -468,7 +468,19 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) + ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW); + ieee80211_hw_set(hw, BUFF_MMPDU_TXQ); + ieee80211_hw_set(hw, STA_MMPDU_TXQ); +- ieee80211_hw_set(hw, TX_AMSDU); ++ /* ++ * On older devices, enabling TX A-MSDU occasionally leads to ++ * something getting messed up, the command read from the FIFO ++ * gets out of sync and isn't a TX command, so that we have an ++ * assert EDC. ++ * ++ * It's not clear where the bug is, but since we didn't used to ++ * support A-MSDU until moving the mac80211 iTXQs, just leave it ++ * for older devices. We also don't see this issue on any newer ++ * devices. ++ */ ++ if (mvm->cfg->device_family >= IWL_DEVICE_FAMILY_9000) ++ ieee80211_hw_set(hw, TX_AMSDU); + ieee80211_hw_set(hw, TX_FRAG_LIST); + + if (iwl_mvm_has_tlc_offload(mvm)) { +-- +cgit v1.2.1-1-g437b diff --git a/PKGBUILD b/PKGBUILD index a38a378..e8bac4d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,15 +9,14 @@ # Arch version lacks graysky gcc patch with bdver2 fix # Arch version lacks ath9k regdom and raid6 algo patches # Arch version allows SEED, SM3, SM4, and Streebog +# Arch version allows insecure filesystems # Arch version is 300 Hz -# Arch version supports Intel ME # Arch version is not configured for openrc -# Arch version builds docs using python and graphviz # Arch version uses git pkgbase=linux -_majver=5.1 -_minver=16 +_majver=5.2 +_minver=0 if [ "$_minver" == "0" ]; then pkgver=${_majver} else @@ -29,13 +28,17 @@ pkgrel=1 url='https://kernel.org' arch=('x86_64') license=('GPL2') -makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf') +makedepends=( + 'xmlto' 'kmod' 'inetutils' 'bc' 'libelf' + 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick' + ) conflicts=('linux-libre') options=('!strip') source=( https://www.kernel.org/pub/linux/kernel/v5.x/linux-$pkgver.tar.{xz,sign} 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch 0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch + 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch graysky_bdver2-hotfix.patch enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz ath9k-regdom-hack.patch @@ -45,15 +48,16 @@ source=( 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk ) -sha256sums=('8a3e55be3e788700836db6f75875b4d3b824a581d1eacfc2fcd29ed4e727ba3e' +sha256sums=('54ad66f672e1a831b574f5e704e8a05f1e6180a8245d4bdd811208a6cb0ac1e7' 'SKIP' '91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3' '63e4378e69e2f23ed87af32a4951477a6d82d4ac0de2295db46502c8120da9d9' + '8449de698dfc8f95ff03dbfd98b6abdd71dbc4238896256690cb856fe366aac3' '229e063a578db0a278108f37b24da20c2a2a18d825e98a67e426cb0f4b492e4a' '226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d' 'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503' '0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb' - 'a3c0af2f4e433c556b72595d7fec57577c4c90c7b40dae0afd4733b10d409c14' + 'ec9cd087e4fe97e014fd5af7874d451bb6e56f2a9da63760049a353e63a890c1' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65') @@ -77,6 +81,7 @@ prepare() { msg2 "Applying hotfixes" patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch patch -p1 -i ../0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch + patch -p1 -i ../0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch # graysky gcc hotfixes @@ -140,7 +145,7 @@ prepare() { build() { cd $_srcname - make bzImage modules + make bzImage modules htmldocs } _package() { @@ -280,7 +285,38 @@ _package-headers() { chmod -Rc u=rwX,go=rX "$pkgdir" } -pkgname=("$pkgbase" "$pkgbase-headers") +_package-docs() { + pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel" + + local builddir="$pkgdir/usr/lib/modules/$(