diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2022-06-23 00:19:53 -0700 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2022-06-23 00:19:53 -0700 |
commit | b87b3be86eb943b9562754194a0f1fe803e5a647 (patch) | |
tree | 543af7d1d60f77fa299a070076f954a0520d971e | |
parent | Updated to 5.18.5 (diff) | |
download | linux-b87b3be86eb943b9562754194a0f1fe803e5a647.tar.xz |
Updated to 5.18.6
-rw-r--r-- | 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch | 32 | ||||
-rw-r--r-- | 0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch | 107 | ||||
-rw-r--r-- | 0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch | 24 | ||||
-rw-r--r-- | 0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch | 88 | ||||
-rw-r--r-- | 0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch | 55 | ||||
-rw-r--r-- | 0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch | 60 | ||||
-rw-r--r-- | 0006-lg-laptop-Recognize-more-models.patch | 39 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rw-r--r-- | config | 3 |
9 files changed, 137 insertions, 313 deletions
diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index 14832b7..93a6948 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From 6716cb2cd1fada90a03003b7671a2c1be3bd5277 Mon Sep 17 00:00:00 2001 +From c9d0c83f62347554651d980b1efeda348d089cde Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 1/7] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/3] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -36,10 +36,10 @@ index 33a4240e6a6f..82213f9c4c17 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index 11f8a845f259..02b7a0e455a5 100644 +index fa63cc019ebf..5aa29feccae3 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1226,6 +1226,22 @@ config USER_NS +@@ -1249,6 +1249,22 @@ config USER_NS If unsure, say N. @@ -63,12 +63,12 @@ index 11f8a845f259..02b7a0e455a5 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 10885c649ca4..e0fe98e1afbd 100644 +index 0d8abfb9e0f4..bd7c215e315f 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -98,6 +98,10 @@ - #include <linux/io_uring.h> +@@ -99,6 +99,10 @@ #include <linux/bpf.h> + #include <linux/sched/mm.h> +#ifdef CONFIG_USER_NS +#include <linux/user_namespace.h> @@ -77,7 +77,7 @@ index 10885c649ca4..e0fe98e1afbd 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -1950,6 +1954,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1992,6 +1996,10 @@ static __latent_entropy struct task_struct *copy_process( if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -88,7 +88,7 @@ index 10885c649ca4..e0fe98e1afbd 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3056,6 +3064,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3128,6 +3136,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,12 +102,12 @@ index 10885c649ca4..e0fe98e1afbd 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 083be6af29d7..42aa3c7835b9 100644 +index 830aaf8ca08e..af4c0806bd8e 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c -@@ -105,6 +105,9 @@ - #ifdef CONFIG_LOCKUP_DETECTOR - #include <linux/nmi.h> +@@ -91,6 +91,9 @@ + #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT) + #include <linux/lockdep.h> #endif +#ifdef CONFIG_USER_NS +#include <linux/user_namespace.h> @@ -115,10 +115,10 @@ index 083be6af29d7..42aa3c7835b9 100644 #if defined(CONFIG_SYSCTL) -@@ -1949,6 +1952,15 @@ static struct ctl_table kern_table[] = { +@@ -1803,6 +1806,15 @@ static struct ctl_table kern_table[] = { + .mode = 0644, .proc_handler = proc_dointvec, }, - #endif +#ifdef CONFIG_USER_NS + { + .procname = "unprivileged_userns_clone", @@ -132,7 +132,7 @@ index 083be6af29d7..42aa3c7835b9 100644 { .procname = "tainted", diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c -index 6b2e3ca7ee99..0253002184f1 100644 +index 5481ba44a8d6..423ab2563ad7 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c @@ -21,6 +21,13 @@ diff --git a/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch b/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch new file mode 100644 index 0000000..765dea3 --- /dev/null +++ b/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch @@ -0,0 +1,107 @@ +From aaf936d3aca7defcc2d6d5c0418c59a0323e71fa Mon Sep 17 00:00:00 2001 +From: Bryan Cain <bryancain3@gmail.com> +Date: Thu, 5 May 2022 13:12:21 -0600 +Subject: [PATCH 2/3] HID: apple: Properly handle function keys on Keychron + keyboards +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Keychron's C-series and K-series of keyboards copy the vendor and +product IDs of an Apple keyboard, but only behave like that device when +set to "Mac" mode. In "Windows" mode, the Fn key doesn't generate a +scancode, so it's impossible to use the F1-F12 keys when fnmode is set +to its default value of 1. + +To fix this, make fnmode default to the new value of 3, which behaves +like fnmode=2 for Keychron keyboards and like fnmode=1 for actual Apple +keyboards. This way, Keychron devices are fully usable in both "Windows" +and "Mac" modes, while behavior is unchanged for everything else. + +Signed-off-by: Bryan Cain <bryancain3@gmail.com> +Reviewed-by: Hans de Goede <hdegoede@redhat.com> +Tested-by: José Expósito <jose.exposito89@gmail.com> +Signed-off-by: Jiri Kosina <jkosina@suse.cz> +--- + drivers/hid/hid-apple.c | 22 ++++++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c +index 0cf35caee9fa..42a568902f49 100644 +--- a/drivers/hid/hid-apple.c ++++ b/drivers/hid/hid-apple.c +@@ -21,6 +21,7 @@ + #include <linux/module.h> + #include <linux/slab.h> + #include <linux/timer.h> ++#include <linux/string.h> + + #include "hid-ids.h" + +@@ -35,16 +36,17 @@ + #define APPLE_NUMLOCK_EMULATION BIT(8) + #define APPLE_RDESC_BATTERY BIT(9) + #define APPLE_BACKLIGHT_CTL BIT(10) ++#define APPLE_IS_KEYCHRON BIT(11) + + #define APPLE_FLAG_FKEY 0x01 + + #define HID_COUNTRY_INTERNATIONAL_ISO 13 + #define APPLE_BATTERY_TIMEOUT_MS 60000 + +-static unsigned int fnmode = 1; ++static unsigned int fnmode = 3; + module_param(fnmode, uint, 0644); + MODULE_PARM_DESC(fnmode, "Mode of fn key on Apple keyboards (0 = disabled, " +- "[1] = fkeyslast, 2 = fkeysfirst)"); ++ "1 = fkeyslast, 2 = fkeysfirst, [3] = auto)"); + + static int iso_layout = -1; + module_param(iso_layout, int, 0644); +@@ -349,6 +351,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, + const struct apple_key_translation *trans, *table; + bool do_translate; + u16 code = 0; ++ unsigned int real_fnmode; + + u16 fn_keycode = (swap_fn_leftctrl) ? (KEY_LEFTCTRL) : (KEY_FN); + +@@ -359,7 +362,13 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, + return 1; + } + +- if (fnmode) { ++ if (fnmode == 3) { ++ real_fnmode = (asc->quirks & APPLE_IS_KEYCHRON) ? 2 : 1; ++ } else { ++ real_fnmode = fnmode; ++ } ++ ++ if (real_fnmode) { + if (hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI || + hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO || + hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS || +@@ -406,7 +415,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, + + if (!code) { + if (trans->flags & APPLE_FLAG_FKEY) { +- switch (fnmode) { ++ switch (real_fnmode) { + case 1: + do_translate = !asc->fn_on; + break; +@@ -660,6 +669,11 @@ static int apple_input_configured(struct hid_device *hdev, + asc->quirks &= ~APPLE_HAS_FN; + } + ++ if (strncmp(hdev->name, "Keychron", 8) == 0) { ++ hid_info(hdev, "Keychron keyboard detected; function keys will default to fnmode=2 behavior\n"); ++ asc->quirks |= APPLE_IS_KEYCHRON; ++ } ++ + return 0; + } + +-- +2.36.1 + diff --git a/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch b/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch deleted file mode 100644 index 8f06331..0000000 --- a/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch +++ /dev/null @@ -1,24 +0,0 @@ -From bc627264195d101bd7b64774365cc947c0ee68ae Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org> -Date: Thu, 18 Nov 2021 22:53:31 +0100 -Subject: [PATCH 2/7] PCI: Add more NVIDIA controllers to the MSI masking quirk - -For: https://bugs.archlinux.org/task/72734 -For: https://bugs.archlinux.org/task/72777 ---- - drivers/pci/quirks.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 208fa03acdda..7fdb7e9c2e12 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -5802,3 +5802,5 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev) - pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; - } - DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); -+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab9, nvidia_ion_ahci_fixup); -+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0d88, nvidia_ion_ahci_fixup); --- -2.36.1 - diff --git a/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch b/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch deleted file mode 100644 index 4562cbb..0000000 --- a/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 4dbd5ca2edc4a8f5b518008bf08f3499823447b5 Mon Sep 17 00:00:00 2001 -From: Ajay Garg <ajaygargnsit@gmail.com> -Date: Tue, 12 Oct 2021 19:26:53 +0530 -Subject: [PATCH 3/7] iommu: intel: do deep dma-unmapping, to avoid - kernel-flooding. - -Origins at : -https://lists.linuxfoundation.org/pipermail/iommu/2021-October/thread.html - -=== Changes from v1 => v2 === - -a) -Improved patch-description. - -b) -A more root-level fix, as suggested by - - 1. - Alex Williamson <alex.williamson@redhat.com> - - 2. - Lu Baolu <baolu.lu@linux.intel.com> - -=== Issue === - -Kernel-flooding is seen, when an x86_64 L1 guest (Ubuntu-21) is booted in qemu/kvm -on a x86_64 host (Ubuntu-21), with a host-pci-device attached. - -Following kind of logs, along with the stacktraces, cause the flood : - -...... - DMAR: ERROR: DMA PTE for vPFN 0x428ec already set (to 3f6ec003 not 3f6ec003) - DMAR: ERROR: DMA PTE for vPFN 0x428ed already set (to 3f6ed003 not 3f6ed003) - DMAR: ERROR: DMA PTE for vPFN 0x428ee already set (to 3f6ee003 not 3f6ee003) - DMAR: ERROR: DMA PTE for vPFN 0x428ef already set (to 3f6ef003 not 3f6ef003) - DMAR: ERROR: DMA PTE for vPFN 0x428f0 already set (to 3f6f0003 not 3f6f0003) -...... - -=== Current Behaviour, leading to the issue === - -Currently, when we do a dma-unmapping, we unmap/unlink the mappings, but -the pte-entries are not cleared. - -Thus, following sequencing would flood the kernel-logs : - -i) -A dma-unmapping makes the real/leaf-level pte-slot invalid, but the -pte-content itself is not cleared. - -ii) -Now, during some later dma-mapping procedure, as the pte-slot is about -to hold a new pte-value, the intel-iommu checks if a prior -pte-entry exists in the pte-slot. If it exists, it logs a kernel-error, -along with a corresponding stacktrace. - -iii) -Step ii) runs in abundance, and the kernel-logs run insane. - -=== Fix === - -We ensure that as part of a dma-unmapping, each (unmapped) pte-slot -is also cleared of its value/content (at the leaf-level, where the -real mapping from a iova => pfn mapping is stored). - -This completes a "deep" dma-unmapping. - -Signed-off-by: Ajay Garg <ajaygargnsit@gmail.com> -Link: https://lore.kernel.org/linux-iommu/20211012135653.3852-1-ajaygargnsit@gmail.com/ ---- - drivers/iommu/intel/iommu.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c -index 78f8c8e6803e..d8da48a91ba3 100644 ---- a/drivers/iommu/intel/iommu.c -+++ b/drivers/iommu/intel/iommu.c -@@ -5092,6 +5092,8 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain, - gather->freelist = domain_unmap(dmar_domain, start_pfn, - last_pfn, gather->freelist); - -+ dma_pte_clear_range(dmar_domain, start_pfn, last_pfn); -+ - if (dmar_domain->max_addr == iova + size) - dmar_domain->max_addr = iova; - --- -2.36.1 - diff --git a/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch b/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch deleted file mode 100644 index c11a045..0000000 --- a/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 945c9e46f87ba9567219401dd8458bba38bbeb0c Mon Sep 17 00:00:00 2001 -From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> -Date: Thu, 18 Nov 2021 21:18:01 -0800 -Subject: [PATCH 4/7] cpufreq: intel_pstate: ITMT support for overclocked - system - -On systems with overclocking enabled, CPPC Highest Performance can be -hard coded to 0xff. In this case even if we have cores with different -highest performance, ITMT can't be enabled as the current implementation -depends on CPPC Highest Performance. - -On such systems we can use MSR_HWP_CAPABILITIES maximum performance field -when CPPC.Highest Performance is 0xff. - -Due to legacy reasons, we can't solely depend on MSR_HWP_CAPABILITIES as -in some older systems CPPC Highest Performance is the only way to identify -different performing cores. - -Reported-by: Michael Larabel <Michael@MichaelLarabel.com> -Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> ---- - drivers/cpufreq/intel_pstate.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c -index e15c3bc17a55..8a2c6b58b652 100644 ---- a/drivers/cpufreq/intel_pstate.c -+++ b/drivers/cpufreq/intel_pstate.c -@@ -335,6 +335,8 @@ static void intel_pstste_sched_itmt_work_fn(struct work_struct *work) - - static DECLARE_WORK(sched_itmt_work, intel_pstste_sched_itmt_work_fn); - -+#define CPPC_MAX_PERF U8_MAX -+ - static void intel_pstate_set_itmt_prio(int cpu) - { - struct cppc_perf_caps cppc_perf; -@@ -345,6 +347,14 @@ static void intel_pstate_set_itmt_prio(int cpu) - if (ret) - return; - -+ /* -+ * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff. -+ * In this case we can't use CPPC.highest_perf to enable ITMT. -+ * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide. -+ */ -+ if (cppc_perf.highest_perf == CPPC_MAX_PERF) -+ cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached)); -+ - /* - * The priorities can be set regardless of whether or not - * sched_set_itmt_support(true) has been called and it is valid to --- -2.36.1 - diff --git a/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch b/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch deleted file mode 100644 index ef67905..0000000 --- a/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a7302c9ae64983b2cbf74df4935ea7a1281ece24 Mon Sep 17 00:00:00 2001 -From: Kiran K <kiran.k@intel.com> -Date: Wed, 13 Oct 2021 13:35:11 +0530 -Subject: [PATCH 5/7] Bluetooth: btintel: Fix bdaddress comparison with garbage - value - -Intel Read Verision(TLV) data is parsed into a local structure variable -and it contains a field for bd address. Bd address is returned only in -bootloader mode and hence bd address in TLV structure needs to be validated -only if controller is present in boot loader mode. - -Signed-off-by: Kiran K <kiran.k@intel.com> -Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com> ---- - drivers/bluetooth/btintel.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c -index f1705b46fc88..b9055a3e61ed 100644 ---- a/drivers/bluetooth/btintel.c -+++ b/drivers/bluetooth/btintel.c -@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev, - if (ver->img_type == 0x03) { - btintel_clear_flag(hdev, INTEL_BOOTLOADER); - btintel_check_bdaddr(hdev); -- } -- -- /* If the OTP has no valid Bluetooth device address, then there will -- * also be no valid address for the operational firmware. -- */ -- if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { -- bt_dev_info(hdev, "No device address configured"); -- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); -+ } else { -+ /* -+ * Check for valid bd address in boot loader mode. Device -+ * will be marked as unconfigured if empty bd address is -+ * found. -+ */ -+ if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { -+ bt_dev_info(hdev, "No device address configured"); -+ set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); -+ } - } - - btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi"); -@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev) - goto exit_error; - } - -+ /* memset ver_tlv to start with clean state as few fields are exclusive -+ * to bootloader mode and are not populated in operational mode -+ */ -+ memset(&ver_tlv, 0, sizeof(ver_tlv)); - /* For TLV type device, parse the tlv data */ - err = btintel_parse_version_tlv(hdev, &ver_tlv, skb); - if (err) { --- -2.36.1 - diff --git a/0006-lg-laptop-Recognize-more-models.patch b/0006-lg-laptop-Recognize-more-models.patch deleted file mode 100644 index fdc0a18..0000000 --- a/0006-lg-laptop-Recognize-more-models.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6f2e1bad3744f4af2f1280bafc9d8469125e18d3 Mon Sep 17 00:00:00 2001 -From: Matan Ziv-Av <matan@svgalib.org> -Date: Tue, 23 Nov 2021 22:14:55 +0200 -Subject: [PATCH 6/7] lg-laptop: Recognize more models - -LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well. - -Signed-off-by: Matan Ziv-Av <matan@svgalib.org> -For: https://bugs.archlinux.org/task/71772 ---- - drivers/platform/x86/lg-laptop.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c -index 88b551caeaaf..d6f74d3a7605 100644 ---- a/drivers/platform/x86/lg-laptop.c -+++ b/drivers/platform/x86/lg-laptop.c -@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device) - if (product && strlen(product) > 4) - switch (product[4]) { - case '5': -+ if (strlen(product) > 5) -+ switch (product[5]) { -+ case 'N': -+ year = 2021; -+ break; -+ case '0': -+ year = 2016; -+ break; -+ default: -+ year = 2022; -+ } -+ break; - case '6': - year = 2016; - break; --- -2.36.1 - @@ -19,7 +19,7 @@ _custom=0 pkgbase=linux _supver=5 _majver=18 -_minver=5 +_minver=6 _gccpatchver='20220315' _gccpatchker='5.17+' if [ "$_minver" == "0" ]; then @@ -43,11 +43,7 @@ source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} config # the main kernel config file 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch - 0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch - 0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch - 0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch - 0006-lg-laptop-Recognize-more-models.patch + 0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch kernel_compiler_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/${_gccpatchver}.tar.gz ath9k-regdom-hack.patch raid6-default-algo.patch @@ -57,27 +53,19 @@ validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256sums=('9c3731d405994f9cd3a1bb72e83140735831b19c7cec18e0d7a8f3046fa034e7' +sha256sums=('4e1c2a9e79847850029571a1dd04761e5f657b52c558070a085365641f133478' 'SKIP' - '64a826a33cc95ff2af49c221229afc09b41a850efd4113ae6f0e33729fa91b15' - '996504410a29ea81f2e3d811e4f461c9a996ca0dc4a7d17356da553b5a0a0ae3' - 'b8889c24e947370e549b4b32df37ed78907eba1a8962a9cc4d2b115e6761690e' - '9acbc5b3adb075fb8270ec1a6f4057c16b9a6f95605fb7bed5adf53e7cab79cf' - '4112a5de6b27f4f861562f34e5b3e9a1a50e3600470b62bdd6a7aacac4e59f3b' - 'aa11637c04a6f5c7851244a7537a1d1e08ccd6bbf5c13f8f6728d6c0d1824fb8' - '056d16f200eb7160d10fbeca2dac1811e1a371ee6ddd1e498ccd19517719de80' + '55b527a5bff651d6475d503cb9526a14b5dcb4232070aef4674ec24c29495263' + '14eb1d247e493632c070a192ceec5386f1dd305d2d242133fdb4eeb02ed4bc22' + 'aa32e19174f2e22dded9b1b9dca29ca7ba8f64422845779761ca62a7970389c5' '5a29d172d442a3f31a402d7d306aaa292b0b5ea29139d05080a55e2425f48c5c' 'e9e0d289170b7fb598b572d9c892ae8d1420952034aa415e8b3334f20a58edcc' '6ab863c8cfe6e0dd53a9d6455872fd4391508a8b97ab92e3f13558a6617b12a6') -b2sums=('d2670e53d72fc5f0cf637394452a701c7ab41473be526d29deba7b60789dc56e1c369f3ae05a76f67890822588a36d0b497f267b4b75c33d0a98ad5131c697c9' +b2sums=('2a13d888a259c6f30d8711c616751e9a978ffeba7da6167d5948075044988b5c4ebab1ee1b024e86587da7edd82cfead2a66303614a1b8ef56bf3c73c1a6809f' 'SKIP' - '3f8b8919b9382121bb3f20d09cc03fc9dc353d498df8e008e64f2060c7b1d9ab637e98560a0f9363a41c2ca05517497314f0768dd1e412c8d11637ff88a2ea4d' - 'e8ccdb62fdf999dd39bee1590eb78de30dac6dc40b2c0a040b310e6c9f83baac34c8d15435a7537e21ccd848f6cd1779626846d23a6d7d6ceeb0931de91e44cd' - 'bb78fac217e30cc0eaa6eba8c72403a80a2ccbf229005a0599288e40bad3fa270d6c366919748e44e68178dcd426c5d58cbea96c944f6f92dfc1210c0f8cdd68' - '36cf961c14e8e15969a32809443c81c9d12ed607d21916eb839b8359e6794849cd5f34dc93546d83e0e3c8eb51754d216befb4877ea11edce908e08b80f76e44' - '0d406b76dcc4b3265bc2eff4e11282c325e5ed73fcc0d96fe4389ba455f598df1baad2ef0d23f7a761dcb7454f024968c1c6198bfb2e3fffbc72f71391aafe1a' - 'ce3be8d6f80cd1eb455901b5f121ca47726a96a760821cc8f4e7f515889c915794cababe41906bd4fb72101343e6671940f244e75ab17a8f0283a5a4479fa230' - '3ca5c8ed70ff319cba5780dca8536da702d0483180865077baf7755bb79ee69962bc4aa8f2640f3920a8167901079e86a964d15c553323fa55400dd63eb2f793' + 'eebebb6aa453f660aa3169627a9033a5db709b34a53dda5e8c8f75f8db926ef973a01c87f112c4aaf55bbcdb4675bf793f05e0bb3f40ce81b17ac3abd9056ae7' + '7aeaeb70008ad9007c7a40c665919bb58af627b62aa50a2448d025c69ca082e9ada3d0be52881d530ac85b06368f13ccef970ad047166c2752ae05dba2bbbf1e' + 'fb3c170dcfaec0682001f54b22ea24911068d8bd7097c700dee40f9bedf9cc3fa772d36a52395565a676a23285d9eb12d1db34bbcc0c4ca792364c822f3b132b' '20674a8fcc0a85726e06460a7dbccfe731c46bf377cc3bf511b7591175e7df892f271bc1909e77d9a02913c753d241493502c5ab15d9f78e95f31aa4399c2c27' 'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a' 'e94aa35d92cec92f4b0d487e0569790f3b712b9eaa5107f14a4200578e398ca740bf369f30f070c8beb56a72d1a6d0fc06beb650d798a64f44abe5e3af327728') @@ -100,15 +88,7 @@ prepare() { # Hotfixes echo "Applying hotfixes" patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - # Fails to apply - #patch -p1 -i ../0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch - patch -p1 -i ../0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch - # Fails to apply - #patch -p1 -i ../0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch - # Fails to apply - #patch -p1 -i ../0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch - # Fails to apply - #patch -p1 -i ../0006-lg-laptop-Recognize-more-models.patch + patch -p1 -i ../0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch # graysky gcc patch @@ -197,6 +197,8 @@ CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_CC_HAS_INT128=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_GCC12_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y @@ -10678,6 +10680,7 @@ CONFIG_CRYPTO_LIB_SM3=m CONFIG_CRYPTO_LIB_SM4=m # end of Crypto library routines +CONFIG_LIB_MEMNEQ=y CONFIG_CRC_CCITT=y CONFIG_CRC16=m CONFIG_CRC_T10DIF=y |