summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-23 00:19:53 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-23 00:19:53 -0700
commitb87b3be86eb943b9562754194a0f1fe803e5a647 (patch)
tree543af7d1d60f77fa299a070076f954a0520d971e
parentUpdated to 5.18.5 (diff)
downloadlinux-b87b3be86eb943b9562754194a0f1fe803e5a647.tar.xz
Updated to 5.18.6
-rw-r--r--0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch32
-rw-r--r--0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch107
-rw-r--r--0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch24
-rw-r--r--0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch88
-rw-r--r--0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch55
-rw-r--r--0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch60
-rw-r--r--0006-lg-laptop-Recognize-more-models.patch39
-rw-r--r--PKGBUILD42
-rw-r--r--config3
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
-
diff --git a/PKGBUILD b/PKGBUILD
index fa9f8bd..fd520db 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
diff --git a/config b/config
index 2edaecf..ab260a3 100644
--- a/config
+++ b/config
@@ -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