diff options
author | Daniel Bermond | 2019-07-25 01:26:31 +0000 |
---|---|---|
committer | Daniel Bermond | 2019-07-25 01:26:31 +0000 |
commit | bf7c5748510b3a09cd5e6bafb2699f8e8718de4f (patch) | |
tree | 384438fac1f49c7f3fc6704f9f7fd481004ca4bb | |
parent | a9cd23e7c3a9582fe369bd21d6a5996e8b4f3783 (diff) | |
download | aur-bf7c5748510b3a09cd5e6bafb2699f8e8718de4f.tar.gz |
Updated to version 5.2.2
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch | 4 | ||||
-rw-r--r-- | 0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch | 4 | ||||
-rw-r--r-- | 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch | 4 | ||||
-rw-r--r-- | 0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch | 328 | ||||
-rw-r--r-- | 0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch | 27 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | config.x86_64 | 7 |
8 files changed, 392 insertions, 32 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-libre - pkgver = 5.2.1_gnu + pkgver = 5.2.2_gnu pkgrel = 1 url = https://linux-libre.fsfla.org/ arch = i686 @@ -18,8 +18,8 @@ pkgbase = linux-libre options = !strip source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2-gnu/linux-libre-5.2-gnu.tar.xz source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2-gnu/linux-libre-5.2-gnu.tar.xz.sign - source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2.1-gnu/patch-5.2-gnu-5.2.1-gnu.xz - source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2.1-gnu/patch-5.2-gnu-5.2.1-gnu.xz.sign + source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2.2-gnu/patch-5.2-gnu-5.2.2-gnu.xz + source = https://linux-libre.fsfla.org/pub/linux-libre/releases/5.2.2-gnu/patch-5.2-gnu-5.2.2-gnu.xz.sign source = https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm source = https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm.sig source = https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm @@ -40,11 +40,13 @@ pkgbase = linux-libre source = 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch source = 0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch source = 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch + source = 0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch + source = 0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch validpgpkeys = 474402C8C582DAFBE389C427BCB7CF877E7D47A7 validpgpkeys = 6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78 sha512sums = 3359b0a10ac04243399a1b0aa84f6c09e3c1914880be19a7e931189da92900ca77e467e7ab5c296a03d2ff0ab3238ec75b13fd41bd2796049b63e71f6896900e sha512sums = SKIP - sha512sums = a257eb591ae55b4cd56adfd1a3235622aeeee1db39af477b497f01510a2994f7dc26d237999f509ca3c58663b747dda6bdc9ac2ae21866f576e351177c66023d + sha512sums = 53bc4aa6a36d93ad9275c312e31bf90a19a274877632ba806e3e8c16c166a209968610b8db41c9d619eb57034445ceeb1753554fb459063c2a0600a208f9cdc8 sha512sums = SKIP sha512sums = 13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3 sha512sums = SKIP @@ -53,7 +55,7 @@ pkgbase = linux-libre sha512sums = 267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1 sha512sums = SKIP sha512sums = 9cd90ba3384c99c78e31d58198513886ce6bee3c5a222605e33c43973609dd4995e933843571e2492d37260204a540b0054869fa05b15b242661d9aad2b18787 - sha512sums = 9d597fa288507228fe333a137e013dbe1dad9745f7363069968058259d92aed4b01ca0769b55e8b03e204805f2a350cf7ecb11e8950a702d9852f741a4f8dc3d + sha512sums = af67018e01ecd472422db0b6bc4b3eb0ef00848de10c431650c904dd632096f1c00cf32324885fb10ae2c15d2ec1eaa2e3991c582ecb9f05956e0065dd482207 sha512sums = 413d761727e25c6b20f942588ec162d2a04fdbc06c22d59f16766b9fd9764c0b71458d32db7932417a712544149a3fa81ba290e3ea140bd276c78f4fcf8e8b1c sha512sums = 7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a sha512sums = 2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7 @@ -63,11 +65,13 @@ pkgbase = linux-libre sha512sums = 143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232 sha512sums = 02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af sha512sums = b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168 - sha512sums = 85a0c3e33d6c00e13fe5f0e575993b2e3299a00b633c0a2e09b9c9093b6c375ab414c27b417e2dc674322325626c1e45dc7e5580e1993ec3e7bc71562e621a27 - sha512sums = 75475d99a4843426201b50b89cf3a6f92adb1d9371b0038790e2d8be0c2b9fdfd1eb5104570e0c2cb86da5d79632bb76366ed365c5a5c90fd725f2e80db1fbc3 - sha512sums = 9e8a82569db44a635c1c9ccbd8ef15e008af655a9cf388a97e73dd5bba71dae8ce972f8e6751509abc23f9a982a48fe86ea81c61ce5284240646647300b693ee - source_armv7h = https://repo.parabola.nu/other/rcn-libre/patches/5.2.1/rcn-libre-5.2.1-armv7-x2.patch - source_armv7h = https://repo.parabola.nu/other/rcn-libre/patches/5.2.1/rcn-libre-5.2.1-armv7-x2.patch.sig + sha512sums = 38e1e19ac2536ffc0d9d6ea953597734151fc319e48fe7223618b51f362f504bf8164c7a439285063a1f81210928ea1d7524630d0e8c41bdcf3de221ead1e34f + sha512sums = 20392a6552f39f40919597af3ad767c66f265ccb7ba8c38ee9122de8e1c4ff43285864f9535bef9ad8cca76918ab38bc1fb4db265cd45ccfdb3849e30b198a64 + sha512sums = ac7220d35b9a0e9765aba42458702b23dfe5065e56dff1456a131ead2b165e2dd316548078a23641ebadd35dec8428b250c83d1f21fb1572728ceefe2096d699 + sha512sums = 00dceecb6b4a8da2deb757118a0a203d91926183bb42539d518ff2e2903b2750dc77f73f3f2e33aa13e1ec0578b05ad12d9828fd5d3a02caf9ca479f5e2f8db9 + sha512sums = 06738961d1c87b8f3bf6409dace1c8b99c0bd1a8c64d5070e2c88a23191401292b7c6dca018df76213451cdae2d3e7edc80b94ccfaa17986e5d2196cecfa9113 + source_armv7h = https://repo.parabola.nu/other/rcn-libre/patches/5.2.2/rcn-libre-5.2.2-armv7-x2.patch + source_armv7h = https://repo.parabola.nu/other/rcn-libre/patches/5.2.2/rcn-libre-5.2.2-armv7-x2.patch.sig source_armv7h = 0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch source_armv7h = 0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch source_armv7h = 0003-SMILE-Plug-device-tree-file.patch @@ -98,21 +102,21 @@ pkgname = linux-libre depends = kmod depends = mkinitcpio optdepends = crda: to set the correct wireless channels of your country - provides = linux=5.2.1 - provides = LINUX-ABI_VERSION=5.2.1 + provides = linux=5.2.2 + provides = LINUX-ABI_VERSION=5.2.2 conflicts = linux replaces = linux backup = etc/mkinitcpio.d/linux-libre.preset pkgname = linux-libre-headers pkgdesc = Header files and scripts for building modules for Linux-libre kernel - provides = linux-headers=5.2.1 + provides = linux-headers=5.2.2 conflicts = linux-headers replaces = linux-headers pkgname = linux-libre-docs pkgdesc = Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel - provides = linux-docs=5.2.1 + provides = linux-docs=5.2.2 conflicts = linux-docs replaces = linux-docs diff --git a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch index 8b6c3f24ffb1..a972caccb862 100644 --- a/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch +++ b/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch @@ -1,7 +1,7 @@ -From 3709f2a5ba6d5b36f63fcb1d348701b4c155463f Mon Sep 17 00:00:00 2001 +From 07a714ed114cb6beb90f3ef5dbc56d8cfee3a864 Mon Sep 17 00:00:00 2001 From: Serge Hallyn <serge.hallyn@canonical.com> Date: Fri, 31 May 2013 19:12:12 +0100 -Subject: [PATCH 1/3] add sysctl to disallow unprivileged CLONE_NEWUSER by +Subject: [PATCH 1/5] add sysctl to disallow unprivileged CLONE_NEWUSER by default Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> diff --git a/0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch b/0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch index 4143407b4614..f72b49a4ec5f 100644 --- a/0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch +++ b/0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch @@ -1,7 +1,7 @@ -From 0bced488c460e3e9c9b0cdbca884f1704f6877f7 Mon Sep 17 00:00:00 2001 +From 52deaa0f77df6fdd3ae785cfdd21c0bb39247bed Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Thu, 7 Dec 2017 13:50:48 +0100 -Subject: [PATCH 2/3] ZEN: Add CONFIG for unprivileged_userns_clone +Subject: [PATCH 2/5] ZEN: Add CONFIG for unprivileged_userns_clone This way our default behavior continues to match the vanilla kernel. --- diff --git a/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch b/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch index 607137810b1e..5c1018dc4dee 100644 --- a/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch +++ b/0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch @@ -1,7 +1,7 @@ -From 36232e06dc6332c45a77bd26e36015dbaa094d15 Mon Sep 17 00:00:00 2001 +From d426d34276c9f17081179be6497cddd74154556a Mon Sep 17 00:00:00 2001 From: Johannes Berg <johannes.berg@intel.com> Date: Wed, 3 Jul 2019 11:10:49 +0300 -Subject: [PATCH 3/3] iwlwifi: mvm: disable TX-AMSDU on older NICs +Subject: [PATCH 3/5] 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 diff --git a/0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch b/0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch new file mode 100644 index 000000000000..bc9f20bf7f8b --- /dev/null +++ b/0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch @@ -0,0 +1,328 @@ +From 8dcd32438c96b8099b6447712148a4e4a06c78a7 Mon Sep 17 00:00:00 2001 +From: Haim Dreyfuss <haim.dreyfuss@intel.com> +Date: Wed, 27 Feb 2019 16:43:45 +0200 +Subject: [PATCH 4/5] iwlwifi: Add support for SAR South Korea limitation + +South Korea is adding a more strict SAR limit called "Limb SAR". +Currently, WGDS SAR offset group 3 is not used (not mapped to any country). +In order to be able to comply with South Korea new restriction: +- OEM will use WGDS SAR offset group 3 to South Korea limitation. +- OEM will change WGDS revision to 1 (currently latest revision is 0) + to notify that Korea Limb SAR applied. +- Driver will read the WGDS table and pass the values to FW (as usual) +- Driver will pass to FW an indication that Korea Limb SAR is applied + in case table revision is 1. + +Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> +Signed-off-by: Luca Coelho <luciano.coelho@intel.com> +--- + drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 28 ++++++---- + drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 5 +- + .../net/wireless/intel/iwlwifi/fw/api/power.h | 12 ++++ + drivers/net/wireless/intel/iwlwifi/fw/file.h | 3 + + drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 55 ++++++++++++++----- + drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 1 + + 6 files changed, 76 insertions(+), 28 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c +index 405038ce98d6..7573af2d88ce 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c ++++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c +@@ -97,7 +97,7 @@ IWL_EXPORT_SYMBOL(iwl_acpi_get_object); + + union acpi_object *iwl_acpi_get_wifi_pkg(struct device *dev, + union acpi_object *data, +- int data_size) ++ int data_size, int *tbl_rev) + { + int i; + union acpi_object *wifi_pkg; +@@ -113,16 +113,19 @@ union acpi_object *iwl_acpi_get_wifi_pkg(struct device *dev, + /* + * We need at least two packages, one for the revision and one + * for the data itself. Also check that the revision is valid +- * (i.e. it is an integer set to 0). ++ * (i.e. it is an integer smaller than 2, as we currently support only ++ * 2 revisions). + */ + if (data->type != ACPI_TYPE_PACKAGE || + data->package.count < 2 || + data->package.elements[0].type != ACPI_TYPE_INTEGER || +- data->package.elements[0].integer.value != 0) { ++ data->package.elements[0].integer.value > 1) { + IWL_DEBUG_DEV_RADIO(dev, "Unsupported packages structure\n"); + return ERR_PTR(-EINVAL); + } + ++ *tbl_rev = data->package.elements[0].integer.value; ++ + /* loop through all the packages to find the one for WiFi */ + for (i = 1; i < data->package.count; i++) { + union acpi_object *domain; +@@ -151,14 +154,15 @@ int iwl_acpi_get_mcc(struct device *dev, char *mcc) + { + union acpi_object *wifi_pkg, *data; + u32 mcc_val; +- int ret; ++ int ret, tbl_rev; + + data = iwl_acpi_get_object(dev, ACPI_WRDD_METHOD); + if (IS_ERR(data)) + return PTR_ERR(data); + +- wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_WRDD_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg)) { ++ wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_WRDD_WIFI_DATA_SIZE, ++ &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev != 0) { + ret = PTR_ERR(wifi_pkg); + goto out_free; + } +@@ -185,6 +189,7 @@ u64 iwl_acpi_get_pwr_limit(struct device *dev) + { + union acpi_object *data, *wifi_pkg; + u64 dflt_pwr_limit; ++ int tbl_rev; + + data = iwl_acpi_get_object(dev, ACPI_SPLC_METHOD); + if (IS_ERR(data)) { +@@ -193,8 +198,8 @@ u64 iwl_acpi_get_pwr_limit(struct device *dev) + } + + wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, +- ACPI_SPLC_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg) || ++ ACPI_SPLC_WIFI_DATA_SIZE, &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev != 0 || + wifi_pkg->package.elements[1].integer.value != ACPI_TYPE_INTEGER) { + dflt_pwr_limit = 0; + goto out_free; +@@ -211,14 +216,15 @@ IWL_EXPORT_SYMBOL(iwl_acpi_get_pwr_limit); + int iwl_acpi_get_eckv(struct device *dev, u32 *extl_clk) + { + union acpi_object *wifi_pkg, *data; +- int ret; ++ int ret, tbl_rev; + + data = iwl_acpi_get_object(dev, ACPI_ECKV_METHOD); + if (IS_ERR(data)) + return PTR_ERR(data); + +- wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_ECKV_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg)) { ++ wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_ECKV_WIFI_DATA_SIZE, ++ &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev != 0) { + ret = PTR_ERR(wifi_pkg); + goto out_free; + } +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h +index f5704e16643f..991a23450999 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h +@@ -97,7 +97,7 @@ + void *iwl_acpi_get_object(struct device *dev, acpi_string method); + union acpi_object *iwl_acpi_get_wifi_pkg(struct device *dev, + union acpi_object *data, +- int data_size); ++ int data_size, int *tbl_rev); + + /** + * iwl_acpi_get_mcc - read MCC from ACPI, if available +@@ -131,7 +131,8 @@ static inline void *iwl_acpi_get_object(struct device *dev, acpi_string method) + + static inline union acpi_object *iwl_acpi_get_wifi_pkg(struct device *dev, + union acpi_object *data, +- int data_size) ++ int data_size, ++ int *tbl_rev) + { + return ERR_PTR(-ENOENT); + } +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/power.h b/drivers/net/wireless/intel/iwlwifi/fw/api/power.h +index 01f003c6cff9..f195db398bed 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/api/power.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/api/power.h +@@ -419,14 +419,26 @@ struct iwl_per_chain_offset_group { + struct iwl_per_chain_offset hb; + } __packed; /* PER_CHAIN_LIMIT_OFFSET_GROUP_S_VER_1 */ + ++/** ++ * struct iwl_geo_tx_power_profile_cmd_v1 - struct for GEO_TX_POWER_LIMIT cmd. ++ * @ops: operations, value from &enum iwl_geo_per_chain_offset_operation ++ * @table: offset profile per band. ++ */ ++struct iwl_geo_tx_power_profiles_cmd_v1 { ++ __le32 ops; ++ struct iwl_per_chain_offset_group table[IWL_NUM_GEO_PROFILES]; ++} __packed; /* GEO_TX_POWER_LIMIT_VER_1 */ ++ + /** + * struct iwl_geo_tx_power_profile_cmd - struct for GEO_TX_POWER_LIMIT cmd. + * @ops: operations, value from &enum iwl_geo_per_chain_offset_operation + * @table: offset profile per band. ++ * @table_revision: BIOS table revision. + */ + struct iwl_geo_tx_power_profiles_cmd { + __le32 ops; + struct iwl_per_chain_offset_group table[IWL_NUM_GEO_PROFILES]; ++ __le32 table_revision; + } __packed; /* GEO_TX_POWER_LIMIT */ + + /** +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/file.h b/drivers/net/wireless/intel/iwlwifi/fw/file.h +index de9243d30135..a74f34a8dffb 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/file.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h +@@ -286,6 +286,8 @@ typedef unsigned int __bitwise iwl_ucode_tlv_api_t; + * SCAN_OFFLOAD_PROFILES_QUERY_RSP_S. + * @IWL_UCODE_TLV_API_MBSSID_HE: This ucode supports v2 of + * STA_CONTEXT_DOT11AX_API_S ++ * @IWL_UCODE_TLV_CAPA_SAR_TABLE_VER: This ucode supports different sar ++ * version tables. + * + * @NUM_IWL_UCODE_TLV_API: number of bits used + */ +@@ -318,6 +320,7 @@ enum iwl_ucode_tlv_api { + IWL_UCODE_TLV_API_MBSSID_HE = (__force iwl_ucode_tlv_api_t)52, + IWL_UCODE_TLV_API_WOWLAN_TCP_SYN_WAKE = (__force iwl_ucode_tlv_api_t)53, + IWL_UCODE_TLV_API_FTM_RTT_ACCURACY = (__force iwl_ucode_tlv_api_t)54, ++ IWL_UCODE_TLV_API_SAR_TABLE_VER = (__force iwl_ucode_tlv_api_t)55, + + NUM_IWL_UCODE_TLV_API + #ifdef __CHECKER__ +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +index 153717587aeb..36c260f8ed00 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +@@ -681,15 +681,15 @@ static int iwl_mvm_sar_get_wrds_table(struct iwl_mvm *mvm) + { + union acpi_object *wifi_pkg, *table, *data; + bool enabled; +- int ret; ++ int ret, tbl_rev; + + data = iwl_acpi_get_object(mvm->dev, ACPI_WRDS_METHOD); + if (IS_ERR(data)) + return PTR_ERR(data); + + wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data, +- ACPI_WRDS_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg)) { ++ ACPI_WRDS_WIFI_DATA_SIZE, &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev != 0) { + ret = PTR_ERR(wifi_pkg); + goto out_free; + } +@@ -718,15 +718,15 @@ static int iwl_mvm_sar_get_ewrd_table(struct iwl_mvm *mvm) + { + union acpi_object *wifi_pkg, *data; + bool enabled; +- int i, n_profiles, ret; ++ int i, n_profiles, ret, tbl_rev; + + data = iwl_acpi_get_object(mvm->dev, ACPI_EWRD_METHOD); + if (IS_ERR(data)) + return PTR_ERR(data); + + wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data, +- ACPI_EWRD_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg)) { ++ ACPI_EWRD_WIFI_DATA_SIZE, &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev != 0) { + ret = PTR_ERR(wifi_pkg); + goto out_free; + } +@@ -777,7 +777,7 @@ static int iwl_mvm_sar_get_ewrd_table(struct iwl_mvm *mvm) + static int iwl_mvm_sar_get_wgds_table(struct iwl_mvm *mvm) + { + union acpi_object *wifi_pkg, *data; +- int i, j, ret; ++ int i, j, ret, tbl_rev; + int idx = 1; + + data = iwl_acpi_get_object(mvm->dev, ACPI_WGDS_METHOD); +@@ -785,12 +785,13 @@ static int iwl_mvm_sar_get_wgds_table(struct iwl_mvm *mvm) + return PTR_ERR(data); + + wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data, +- ACPI_WGDS_WIFI_DATA_SIZE); +- if (IS_ERR(wifi_pkg)) { ++ ACPI_WGDS_WIFI_DATA_SIZE, &tbl_rev); ++ if (IS_ERR(wifi_pkg) || tbl_rev > 1) { + ret = PTR_ERR(wifi_pkg); + goto out_free; + } + ++ mvm->geo_rev = tbl_rev; + for (i = 0; i < ACPI_NUM_GEO_PROFILES; i++) { + for (j = 0; j < ACPI_GEO_TABLE_SIZE; j++) { + union acpi_object *entry; +@@ -877,15 +878,29 @@ int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm) + { + struct iwl_geo_tx_power_profiles_resp *resp; + int ret; ++ u16 len; ++ void *data; ++ struct iwl_geo_tx_power_profiles_cmd geo_cmd; ++ struct iwl_geo_tx_power_profiles_cmd_v1 geo_cmd_v1; ++ struct iwl_host_cmd cmd; ++ ++ if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_SAR_TABLE_VER)) { ++ geo_cmd.ops = ++ cpu_to_le32(IWL_PER_CHAIN_OFFSET_GET_CURRENT_TABLE); ++ len = sizeof(geo_cmd); ++ data = &geo_cmd; ++ } else { ++ geo_cmd_v1.ops = ++ cpu_to_le32(IWL_PER_CHAIN_OFFSET_GET_CURRENT_TABLE); ++ len = sizeof(geo_cmd_v1); ++ data = &geo_cmd_v1; ++ } + +- struct iwl_geo_tx_power_profiles_cmd geo_cmd = { +- .ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_GET_CURRENT_TABLE), +- }; +- struct iwl_host_cmd cmd = { ++ cmd = (struct iwl_host_cmd){ + .id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT), +- .len = { sizeof(geo_cmd), }, ++ .len = { len, }, + .flags = CMD_WANT_SKB, +- .data = { &geo_cmd }, ++ .data = { data }, + }; + + ret = iwl_mvm_send_cmd(mvm, &cmd); +@@ -955,6 +970,16 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) + i, j, value[1], value[2], value[0]); + } + } ++ ++ cmd.table_revision = cpu_to_le32(mvm->geo_rev); ++ ++ if (!fw_has_api(&mvm->fw->ucode_capa, ++ IWL_UCODE_TLV_API_SAR_TABLE_VER)) { ++ return iwl_mvm_send_cmd_pdu(mvm, cmd_wide_id, 0, ++ sizeof(struct iwl_geo_tx_power_profiles_cmd_v1), ++ &cmd); ++ } ++ + return iwl_mvm_send_cmd_pdu(mvm, cmd_wide_id, 0, sizeof(cmd), &cmd); + } + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +index 02efcf2189c4..5c34e405173b 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +@@ -1181,6 +1181,7 @@ struct iwl_mvm { + #ifdef CONFIG_ACPI + struct iwl_mvm_sar_profile sar_profiles[ACPI_SAR_PROFILE_NUM]; + struct iwl_mvm_geo_profile geo_profiles[ACPI_NUM_GEO_PROFILES]; ++ u32 geo_rev; + #endif + }; + +-- +2.22.0 + diff --git a/0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch b/0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch new file mode 100644 index 000000000000..806fd6f324d9 --- /dev/null +++ b/0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch @@ -0,0 +1,27 @@ +From 164647d76a17d87a33440e6149b616eeed34970f Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Thu, 11 Jul 2019 01:31:12 +0200 +Subject: [PATCH 5/5] netfilter: nf_tables: fix module autoload for redir + +Fix expression for autoloading. + +Fixes: 5142967ab524 ("netfilter: nf_tables: fix module autoload with inet family") +Signed-off-by: Christian Hesse <mail@eworm.de> +Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> +--- + net/netfilter/nft_redir.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/netfilter/nft_redir.c b/net/netfilter/nft_redir.c +index 8487eeff5c0e..43eeb1f609f1 100644 +--- a/net/netfilter/nft_redir.c ++++ b/net/netfilter/nft_redir.c +@@ -291,4 +291,4 @@ module_exit(nft_redir_module_exit); + + MODULE_LICENSE("GPL"); + MODULE_AUTHOR("Arturo Borrero Gonzalez <arturo@debian.org>"); +-MODULE_ALIAS_NFT_EXPR("nat"); ++MODULE_ALIAS_NFT_EXPR("redir"); +-- +2.22.0 + @@ -13,7 +13,7 @@ pkgbase=linux-libre # Build stock kernel #pkgbase=linux-libre-custom # Build kernel with a different name _srcbasever=5.2-gnu -_srcver=5.2.1-gnu +_srcver=5.2.2-gnu _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname _replacesoldkernels=() # '%' gets replaced with _kernelname @@ -55,6 +55,8 @@ source=( 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 + 0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch + 0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch ) source_armv7h=( # armv7h patches, put in the source_armv7h variable just for a more comfortable loop patching @@ -81,7 +83,7 @@ validpgpkeys=( ) sha512sums=('3359b0a10ac04243399a1b0aa84f6c09e3c1914880be19a7e931189da92900ca77e467e7ab5c296a03d2ff0ab3238ec75b13fd41bd2796049b63e71f6896900e' 'SKIP' - 'a257eb591ae55b4cd56adfd1a3235622aeeee1db39af477b497f01510a2994f7dc26d237999f509ca3c58663b747dda6bdc9ac2ae21866f576e351177c66023d' + '53bc4aa6a36d93ad9275c312e31bf90a19a274877632ba806e3e8c16c166a209968610b8db41c9d619eb57034445ceeb1753554fb459063c2a0600a208f9cdc8' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -90,7 +92,7 @@ sha512sums=('3359b0a10ac04243399a1b0aa84f6c09e3c1914880be19a7e931189da92900ca77e '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' '9cd90ba3384c99c78e31d58198513886ce6bee3c5a222605e33c43973609dd4995e933843571e2492d37260204a540b0054869fa05b15b242661d9aad2b18787' - '9d597fa288507228fe333a137e013dbe1dad9745f7363069968058259d92aed4b01ca0769b55e8b03e204805f2a350cf7ecb11e8950a702d9852f741a4f8dc3d' + 'af67018e01ecd472422db0b6bc4b3eb0ef00848de10c431650c904dd632096f1c00cf32324885fb10ae2c15d2ec1eaa2e3991c582ecb9f05956e0065dd482207' '413d761727e25c6b20f942588ec162d2a04fdbc06c22d59f16766b9fd9764c0b71458d32db7932417a712544149a3fa81ba290e3ea140bd276c78f4fcf8e8b1c' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7' @@ -100,9 +102,11 @@ sha512sums=('3359b0a10ac04243399a1b0aa84f6c09e3c1914880be19a7e931189da92900ca77e '143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '85a0c3e33d6c00e13fe5f0e575993b2e3299a00b633c0a2e09b9c9093b6c375ab414c27b417e2dc674322325626c1e45dc7e5580e1993ec3e7bc71562e621a27' - '75475d99a4843426201b50b89cf3a6f92adb1d9371b0038790e2d8be0c2b9fdfd1eb5104570e0c2cb86da5d79632bb76366ed365c5a5c90fd725f2e80db1fbc3' - '9e8a82569db44a635c1c9ccbd8ef15e008af655a9cf388a97e73dd5bba71dae8ce972f8e6751509abc23f9a982a48fe86ea81c61ce5284240646647300b693ee') + '38e1e19ac2536ffc0d9d6ea953597734151fc319e48fe7223618b51f362f504bf8164c7a439285063a1f81210928ea1d7524630d0e8c41bdcf3de221ead1e34f' + '20392a6552f39f40919597af3ad767c66f265ccb7ba8c38ee9122de8e1c4ff43285864f9535bef9ad8cca76918ab38bc1fb4db265cd45ccfdb3849e30b198a64' + 'ac7220d35b9a0e9765aba42458702b23dfe5065e56dff1456a131ead2b165e2dd316548078a23641ebadd35dec8428b250c83d1f21fb1572728ceefe2096d699' + '00dceecb6b4a8da2deb757118a0a203d91926183bb42539d518ff2e2903b2750dc77f73f3f2e33aa13e1ec0578b05ad12d9828fd5d3a02caf9ca479f5e2f8db9' + '06738961d1c87b8f3bf6409dace1c8b99c0bd1a8c64d5070e2c88a23191401292b7c6dca018df76213451cdae2d3e7edc80b94ccfaa17986e5d2196cecfa9113') sha512sums_armv7h=('56d27a8e61e47a8eb7c6efddd421e5452ba91b4d78c4398dfed1fad0b500deb4cdf83e0c602657e58bfc502e13ec75a3ded62e0ea1109bdb23881bbb6512a1c5' 'SKIP' 'cd064ca844aa2f0f1e4157ce7a7607850d7c4b531f5b8336d75ce2f49d3a76e09f1e41ebd712b942357068028896dd7f55d037f5c01367c5cd8297c98920e7dc' @@ -390,7 +394,7 @@ _package-docs() { _package-chromebook() { pkgdesc="Kernel image sign for ${pkgbase^} - Chromebooks" - depends=('linux-libre') + depends=(linux-libre=${_archpkgver}) provides=("${_replacesarchkernel[@]/%/-armv7-chromebook=${_archpkgver}}") conflicts=("${_replacesarchkernel[@]/%/-armv7-chromebook}" "${_replacesoldkernels[@]/%/-armv7-chromebook}") replaces=("${_replacesarchkernel[@]/%/-armv7-chromebook}" "${_replacesoldkernels[@]/%/-armv7-chromebook}") diff --git a/config.x86_64 b/config.x86_64 index 160688c2041a..f21d1b949b69 100644 --- a/config.x86_64 +++ b/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.2.1-gnu Kernel Configuration +# Linux/x86 5.2.2-gnu Kernel Configuration # # @@ -9652,10 +9652,7 @@ CONFIG_GCC_PLUGIN_STRUCTLEAK=y # CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set -CONFIG_GCC_PLUGIN_STACKLEAK=y -CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 -CONFIG_STACKLEAK_METRICS=y -CONFIG_STACKLEAK_RUNTIME_DISABLE=y +# CONFIG_GCC_PLUGIN_STACKLEAK is not set # end of Memory initialization # end of Kernel hardening options # end of Security options |