diff options
author | graysky | 2022-04-14 14:32:29 -0400 |
---|---|---|
committer | graysky | 2022-04-14 14:32:29 -0400 |
commit | 260b3c50dacf6959ba8ad5c98e4b779e73e73cc2 (patch) | |
tree | 92801bf5f44e8aea850a2be547960c9a79aaa80a | |
parent | 2b2784672531563ae9922f3d02e90035bf077073 (diff) | |
download | aur-260b3c50dacf6959ba8ad5c98e4b779e73e73cc2.tar.gz |
Update to 5.17.3-2
-rw-r--r-- | .SRCINFO | 50 | ||||
-rw-r--r-- | 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch | 28 | ||||
-rw-r--r-- | 0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch | 62 | ||||
-rw-r--r-- | 0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch | 94 | ||||
-rw-r--r-- | 0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch | 56 | ||||
-rw-r--r-- | 0003-tick-Detect-and-fix-jiffies-update-stall.patch | 86 | ||||
-rw-r--r-- | 0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch | 231 | ||||
-rw-r--r-- | 0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch | 101 | ||||
-rw-r--r-- | 0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch | 29 | ||||
-rw-r--r-- | 0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch | 119 | ||||
-rw-r--r-- | 0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch | 55 | ||||
-rw-r--r-- | 0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch | 45 | ||||
-rw-r--r-- | 0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch | 236 | ||||
-rw-r--r-- | PKGBUILD | 61 | ||||
-rw-r--r-- | config | 203 |
15 files changed, 671 insertions, 785 deletions
@@ -1,50 +1,50 @@ pkgbase = linux-ck - pkgver = 5.16.20 - pkgrel = 1 + pkgver = 5.17.3 + pkgrel = 2 url = https://wiki.archlinux.org/index.php/Linux-ck arch = x86_64 license = GPL2 makedepends = bc - makedepends = kmod makedepends = libelf makedepends = cpio makedepends = perl makedepends = tar makedepends = xz + depends = coreutils + depends = kmod + depends = initramfs options = !strip - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.20.tar.xz - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.20.tar.sign + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.17.3.tar.xz + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.17.3.tar.sign source = config - source = more-uarches-20211114.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/20211114.tar.gz - source = xanmod-patches-from-ck-c8fd0bce08e6219df068e717c53aa08a7fbb496d.tar.gz::https://github.com/xanmod/linux-patches/archive/c8fd0bce08e6219df068e717c53aa08a7fbb496d.tar.gz + source = more-uarches-20220315.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/20220315.tar.gz + source = xanmod-patches-from-ck-bc1b55888981e44698a1dfccc06821522e6be010.tar.gz::https://github.com/graysky2/linux-patches/archive/bc1b55888981e44698a1dfccc06821522e6be010.tar.gz source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - source = 0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch - source = 0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch - source = 0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch - source = 0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch - source = 0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch - source = 0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch + source = 0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch + source = 0003-tick-Detect-and-fix-jiffies-update-stall.patch + source = 0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch + source = 0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch + source = 0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E - b2sums = 798baf7051b3f20d34741067769c6a59a04ba922468789e61ce5a6c4d0c3d336a0f3bacc9f482827722e7577828140772e5cbd76b844cc836d4d6b26e0c154ec + b2sums = 03fd68cd2a9c70fcb20dbec8b62f524f032924cf3ba555d78a2348b80bbe61735e6140d0d38d74bf3051ac19a67be7c62c67dfc9ef697097ed24637427e72dc7 b2sums = SKIP - b2sums = f37b180eac2737e7398654c9cf2d3b0ee93b194804d22827ad776a605692ddc098cba8ca7ba7dc2f2959cabc4eca92c73cdacbfa34182fdb98ab9199f161b5c4 - b2sums = 534091fb5034226d48f18da2114305860e67ee49a1d726b049a240ce61df83e840a9a255e5b8fa9279ec07dd69fb0aea6e2e48962792c2b5367db577a4423d8d - b2sums = 47843d5eae56b388742ef6d73372962a2f28c03d73501ddf30b62a194b81b781d0d5ce73131e30c70d09cdb27a2960bf952ed9e4767222c5bd44605047087ee7 - b2sums = 85ff480287d5e9b26eec6392022d1496c10900d3c015ff2f65130b347477930222c2a28e1e2175f39a324f39148bdd75cadfaa66100c65df2fa7106d8e86ce06 - b2sums = 1f3bbd94a7a4d3cce39786a5c7a5b5aa60c7efef3f4608908d0f8e463bcdaa390f467c1c78cd2ecbc683e81ee6d7ce6a5ebbe8634c7e9c203e3d3abbf929b051 - b2sums = 12a5d08ceef328f3353833eed2f206ca6c08377abee8802de0ae32194b15c243b996b4c7bed257597b823683c0e80aadfdac94f32c7456a4f2af98ef3cecbe73 - b2sums = 7a386793b84f0eb5d38cd8f9cd063748c3f3d9adebebdfa9b16d2c889d510f35b3c01d1d185008336c08e87c3597d4a7bd09e1f5d0038138a4af0c88459da6e4 - b2sums = a9f0b7954ba77f94ae3bc49c621610a88f0888f91c93b4a4188569c0e06c5afe355971ad4323b03d79aa5cb63bfe5dc4a52dbf0267fd6a1f3e6d3c64dcc77b13 - b2sums = 5f4af41492f1a13f2a40764f5e1838588d2fd53addfd2cea05de4d51f760da5e6968ffaba9b6749fcdec5034dc1572777def8497cc978a01fd4b5eb82673f2e4 - b2sums = 03096c8152ed3a671a9f59565dd891f10a5a8a91d03fa1fa8a5db85291f41a6f1cc5f44c47a2c8e78a690599afbd79d2ed12498b0494b4bc0d0311c0102598a3 + b2sums = 3d1e2c1dff1e828c655b449962fb47c49fdf77d58c65c8af41ee8c56fbb2d8fdb7d0b963c775b26ac4022c6e0f9c8d19c11bc1e0e358580396520e9261bc8eeb + b2sums = 20674a8fcc0a85726e06460a7dbccfe731c46bf377cc3bf511b7591175e7df892f271bc1909e77d9a02913c753d241493502c5ab15d9f78e95f31aa4399c2c27 + b2sums = 96a893b65eb7f87c133b7a8d069c776950d41589e89096aad08601acaa3d67e3cad00c1611de526797d9f8785996ceb7c083aeb9aa248b5151fdc45b34764fba + b2sums = 576fcf6c4aa7a34af4c613e6bf9b2311bf60f328435e3ebfff292b5fcf5e6db30305396346ac71473cd7ee1efa44bb28019b9db1e0c4f705682aff77b77e7f9f + b2sums = 2e1fb80e3058241341b3d1b1f92c045a9d05308315e132bc8675e6a0f6ea693a0a826b160027d5db37cfab9dd4490c2288fe0dfe60f22f13f0758e0f9525320f + b2sums = d81e1336f760290cc93112162d0d5a1ff8443f552e7a6ef35a27838b0b2f7705f974846a148dfe3dad51de63084f6390e2c4ce70ab03dab31963198c82449c24 + b2sums = e603f7f460f0e9ca69b7c94a81941cfe91c21cc1a2d2dae14487010c9935b7bd1bb458dc2286a5365995cdeec3f28f3c0e4271995b74cd89bf0673c4dd65362a + b2sums = a6ae40cbf866d3d8add726a262b67818f0348897896e50e112523ad8e72f2bfde57afbfbd02c863661200f9b5caa389d49eac9aa8cbcffa8e52acb5a69fe7f02 + b2sums = fd94c5e3e186c1c953008190b2c913eab0d1b1bc410993fc6995ebdbcc82404c7b352805ee8cff9dfdbbddd5f9bd51b1a63fbaac00bd1552c630b8c9b48eca22 pkgname = linux-ck pkgdesc = The Linux-ck kernel and modules with ck's hrtimer patches depends = coreutils depends = kmod depends = initramfs - optdepends = crda: to set the correct wireless channels of your country + optdepends = wireless-regdb: to set the correct wireless channels of your country optdepends = linux-firmware: firmware images needed for some devices provides = VIRTUALBOX-GUEST-MODULES provides = WIREGUARD-MODULE 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 4e623b2a1a8a..d6ad37cda5e0 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 6ff06b04b715e3fbd96ecf8fb5b1d930fda7f643 Mon Sep 17 00:00:00 2001 +From 777ff4bb6acdade5c23653c63e2860b01046a358 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/8] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/7] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -36,7 +36,7 @@ index 33a4240e6a6f..82213f9c4c17 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index 4b7bac10c72d..40ea1367f14a 100644 +index e9119bf54b1f..a1a5a68aea07 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1231,6 +1231,22 @@ config USER_NS @@ -63,10 +63,10 @@ index 4b7bac10c72d..40ea1367f14a 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index d846dfde6691..5682bbbcb062 100644 +index f1e89007f228..49144b49a3d1 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -97,6 +97,10 @@ +@@ -98,6 +98,10 @@ #include <linux/io_uring.h> #include <linux/bpf.h> @@ -77,7 +77,7 @@ index d846dfde6691..5682bbbcb062 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -1947,6 +1951,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1922,6 +1926,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 d846dfde6691..5682bbbcb062 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3063,6 +3071,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3036,6 +3044,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,12 +102,12 @@ index d846dfde6691..5682bbbcb062 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 0586047f7323..e0355cd3d2f2 100644 +index 730ab56d9e92..6cf4e5c36ec9 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 0586047f7323..e0355cd3d2f2 100644 #if defined(CONFIG_SYSCTL) -@@ -1956,6 +1959,15 @@ static struct ctl_table kern_table[] = { +@@ -1814,6 +1817,15 @@ static struct ctl_table kern_table[] = { + .mode = 0644, .proc_handler = proc_dointvec, }, - #endif +#ifdef CONFIG_USER_NS + { + .procname = "unprivileged_userns_clone", @@ -150,5 +150,5 @@ index 5481ba44a8d6..423ab2563ad7 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.35.1 +2.35.2 diff --git a/0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch b/0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch deleted file mode 100644 index 51196ab57952..000000000000 --- a/0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8ab30bd4322c4aa253c84561ec1dd61d84a73fea 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 2/8] 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> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> -(cherry picked from commit 893505319c74cf3faa45a5ed9d5338ff03b66949) ---- - 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 851a0c9b8fae..1a4f8b227eac 100644 ---- a/drivers/bluetooth/btintel.c -+++ b/drivers/bluetooth/btintel.c -@@ -2081,14 +2081,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"); -@@ -2467,6 +2469,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.35.1 - diff --git a/0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch b/0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch new file mode 100644 index 000000000000..c2daf10f1658 --- /dev/null +++ b/0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch @@ -0,0 +1,94 @@ +From 3694d8befa0b8975e26f6789e34935408559e038 Mon Sep 17 00:00:00 2001 +From: "Jason A. Donenfeld" <Jason@zx2c4.com> +Date: Wed, 23 Mar 2022 23:09:30 -0600 +Subject: [PATCH 2/7] random: treat bootloader trust toggle the same way as cpu + trust toggle + +If CONFIG_RANDOM_TRUST_CPU is set, the RNG initializes using RDRAND. +But, the user can disable (or enable) this behavior by setting +`random.trust_cpu=0/1` on the kernel command line. This allows system +builders to do reasonable things while avoiding howls from tinfoil +hatters. (Or vice versa.) + +CONFIG_RANDOM_TRUST_BOOTLOADER is basically the same thing, but regards +the seed passed via EFI or device tree, which might come from RDRAND or +a TPM or somewhere else. In order to allow distros to more easily enable +this while avoiding those same howls (or vice versa), this commit adds +the corresponding `random.trust_bootloader=0/1` toggle. + +Cc: Theodore Ts'o <tytso@mit.edu> +Cc: Graham Christensen <graham@grahamc.com> +Reviewed-by: Ard Biesheuvel <ardb@kernel.org> +Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> +Link: https://github.com/NixOS/nixpkgs/pull/165355 +Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> +--- + Documentation/admin-guide/kernel-parameters.txt | 6 ++++++ + drivers/char/Kconfig | 3 ++- + drivers/char/random.c | 8 +++++++- + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt +index 59f881f36779..bdc733c2561d 100644 +--- a/Documentation/admin-guide/kernel-parameters.txt ++++ b/Documentation/admin-guide/kernel-parameters.txt +@@ -4355,6 +4355,12 @@ + fully seed the kernel's CRNG. Default is controlled + by CONFIG_RANDOM_TRUST_CPU. + ++ random.trust_bootloader={on,off} ++ [KNL] Enable or disable trusting the use of the ++ a seed passed by the bootloader (if available) to ++ fully seed the kernel's CRNG. Default is controlled ++ by CONFIG_RANDOM_TRUST_BOOTLOADER. ++ + randomize_kstack_offset= + [KNL] Enable or disable kernel stack offset + randomization, which provides roughly 5 bits of +diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig +index 740811893c57..55f48375e3fe 100644 +--- a/drivers/char/Kconfig ++++ b/drivers/char/Kconfig +@@ -449,6 +449,7 @@ config RANDOM_TRUST_BOOTLOADER + device randomness. Say Y here to assume the entropy provided by the + booloader is trustworthy so it will be added to the kernel's entropy + pool. Otherwise, say N here so it will be regarded as device input that +- only mixes the entropy pool. ++ only mixes the entropy pool. This can also be configured at boot with ++ "random.trust_bootloader=on/off". + + endmenu +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 3404a91edf29..19bf14e253f7 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -738,11 +738,17 @@ static void invalidate_batched_entropy(void); + static void numa_crng_init(void); + + static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU); ++static bool trust_bootloader __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER); + static int __init parse_trust_cpu(char *arg) + { + return kstrtobool(arg, &trust_cpu); + } ++static int __init parse_trust_bootloader(char *arg) ++{ ++ return kstrtobool(arg, &trust_bootloader); ++} + early_param("random.trust_cpu", parse_trust_cpu); ++early_param("random.trust_bootloader", parse_trust_bootloader); + + static bool crng_init_try_arch(struct crng_state *crng) + { +@@ -2229,7 +2235,7 @@ EXPORT_SYMBOL_GPL(add_hwgenerator_randomness); + */ + void add_bootloader_randomness(const void *buf, unsigned int size) + { +- if (IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER)) ++ if (trust_bootloader) + add_hwgenerator_randomness(buf, size, size * 8); + else + add_device_randomness(buf, size); +-- +2.35.2 + diff --git a/0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch b/0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch deleted file mode 100644 index 5cc8162c9b42..000000000000 --- a/0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 259811877bb044c65cda70291f0ff2e88d124655 Mon Sep 17 00:00:00 2001 -From: Kiran K <kiran.k@intel.com> -Date: Tue, 5 Oct 2021 20:15:56 +0530 -Subject: [PATCH 3/8] Bluetooth: Read codec capabilities only if supported - -Read codec capabilities only if HCI_READ_LOCAL_CODEC_CAPABILITIES -command is supported. If capablities are not supported, then -cache codec data without caps. - -Signed-off-by: Kiran K <kiran.k@intel.com> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> -For: https://bugs.archlinux.org/task/73454 ---- - net/bluetooth/hci_codec.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/net/bluetooth/hci_codec.c b/net/bluetooth/hci_codec.c -index f0421d0edaa3..38201532f58e 100644 ---- a/net/bluetooth/hci_codec.c -+++ b/net/bluetooth/hci_codec.c -@@ -25,9 +25,11 @@ static int hci_codec_list_add(struct list_head *list, - } - entry->transport = sent->transport; - entry->len = len; -- entry->num_caps = rp->num_caps; -- if (rp->num_caps) -+ entry->num_caps = 0; -+ if (rp) { -+ entry->num_caps = rp->num_caps; - memcpy(entry->caps, caps, len); -+ } - list_add(&entry->list, list); - - return 0; -@@ -58,6 +60,18 @@ static void hci_read_codec_capabilities(struct hci_dev *hdev, __u8 transport, - __u32 len; - - cmd->transport = i; -+ -+ /* If Read_Codec_Capabilities command is not supported -+ * then just add codec to the list without caps -+ */ -+ if (!(hdev->commands[45] & 0x08)) { -+ hci_dev_lock(hdev); -+ hci_codec_list_add(&hdev->local_codecs, cmd, -+ NULL, NULL, 0); -+ hci_dev_unlock(hdev); -+ continue; -+ } -+ - skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_CODEC_CAPS, - sizeof(*cmd), cmd, - HCI_CMD_TIMEOUT); --- -2.35.1 - diff --git a/0003-tick-Detect-and-fix-jiffies-update-stall.patch b/0003-tick-Detect-and-fix-jiffies-update-stall.patch new file mode 100644 index 000000000000..76e152d82e5f --- /dev/null +++ b/0003-tick-Detect-and-fix-jiffies-update-stall.patch @@ -0,0 +1,86 @@ +From 4cf11c1a95f4709e3c98cbc5167dd22417fdf338 Mon Sep 17 00:00:00 2001 +From: Frederic Weisbecker <frederic@kernel.org> +Date: Wed, 2 Feb 2022 01:01:07 +0100 +Subject: [PATCH 3/7] tick: Detect and fix jiffies update stall + +On some rare cases, the timekeeper CPU may be delaying its jiffies +update duty for a while. Known causes include: + +* The timekeeper is waiting on stop_machine in a MULTI_STOP_DISABLE_IRQ + or MULTI_STOP_RUN state. Disabled interrupts prevent from timekeeping + updates while waiting for the target CPU to complete its + stop_machine() callback. + +* The timekeeper vcpu has VMEXIT'ed for a long while due to some overload + on the host. + +Detect and fix these situations with emergency timekeeping catchups. + +Original-patch-by: Paul E. McKenney <paulmck@kernel.org> +Signed-off-by: Frederic Weisbecker <frederic@kernel.org> +Cc: Thomas Gleixner <tglx@linutronix.de> +--- + kernel/time/tick-sched.c | 17 +++++++++++++++++ + kernel/time/tick-sched.h | 4 ++++ + 2 files changed, 21 insertions(+) + +diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c +index 17a283ce2b20..c89f50a7e690 100644 +--- a/kernel/time/tick-sched.c ++++ b/kernel/time/tick-sched.c +@@ -169,6 +169,8 @@ static ktime_t tick_init_jiffy_update(void) + return period; + } + ++#define MAX_STALLED_JIFFIES 5 ++ + static void tick_sched_do_timer(struct tick_sched *ts, ktime_t now) + { + int cpu = smp_processor_id(); +@@ -196,6 +198,21 @@ static void tick_sched_do_timer(struct tick_sched *ts, ktime_t now) + if (tick_do_timer_cpu == cpu) + tick_do_update_jiffies64(now); + ++ /* ++ * If jiffies update stalled for too long (timekeeper in stop_machine() ++ * or VMEXIT'ed for several msecs), force an update. ++ */ ++ if (ts->last_tick_jiffies != jiffies) { ++ ts->stalled_jiffies = 0; ++ ts->last_tick_jiffies = READ_ONCE(jiffies); ++ } else { ++ if (++ts->stalled_jiffies == MAX_STALLED_JIFFIES) { ++ tick_do_update_jiffies64(now); ++ ts->stalled_jiffies = 0; ++ ts->last_tick_jiffies = READ_ONCE(jiffies); ++ } ++ } ++ + if (ts->inidle) + ts->got_idle_tick = 1; + } +diff --git a/kernel/time/tick-sched.h b/kernel/time/tick-sched.h +index d952ae393423..504649513399 100644 +--- a/kernel/time/tick-sched.h ++++ b/kernel/time/tick-sched.h +@@ -49,6 +49,8 @@ enum tick_nohz_mode { + * @timer_expires_base: Base time clock monotonic for @timer_expires + * @next_timer: Expiry time of next expiring timer for debugging purpose only + * @tick_dep_mask: Tick dependency mask - is set, if someone needs the tick ++ * @last_tick_jiffies: Value of jiffies seen on last tick ++ * @stalled_jiffies: Number of stalled jiffies detected across ticks + */ + struct tick_sched { + struct hrtimer sched_timer; +@@ -77,6 +79,8 @@ struct tick_sched { + u64 next_timer; + ktime_t idle_expires; + atomic_t tick_dep_mask; ++ unsigned long last_tick_jiffies; ++ unsigned int stalled_jiffies; + }; + + extern struct tick_sched *tick_get_tick_sched(int cpu); +-- +2.35.2 + diff --git a/0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch b/0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch deleted file mode 100644 index e882ec4ca556..000000000000 --- a/0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch +++ /dev/null @@ -1,231 +0,0 @@ -From f8a49984307e14849829a32732742b64bb511576 Mon Sep 17 00:00:00 2001 -From: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Date: Mon, 4 Oct 2021 14:07:34 -0400 -Subject: [PATCH 4/8] Bluetooth: fix deadlock for RFCOMM sk state change - -Syzbot reports the following task hang [1]: - -INFO: task syz-executor255:8499 blocked for more than 143 seconds. - Not tainted 5.14.0-rc7-syzkaller #0 - -Call Trace: - context_switch kernel/sched/core.c:4681 [inline] - __schedule+0x93a/0x26f0 kernel/sched/core.c:5938 - schedule+0xd3/0x270 kernel/sched/core.c:6017 - __lock_sock+0x13d/0x260 net/core/sock.c:2644 - lock_sock_nested+0xf6/0x120 net/core/sock.c:3185 - lock_sock include/net/sock.h:1612 [inline] - rfcomm_sk_state_change+0xb4/0x390 net/bluetooth/rfcomm/sock.c:73 - __rfcomm_dlc_close+0x1b6/0x8a0 net/bluetooth/rfcomm/core.c:489 - rfcomm_dlc_close+0x1ea/0x240 net/bluetooth/rfcomm/core.c:520 - __rfcomm_sock_close+0xac/0x260 net/bluetooth/rfcomm/sock.c:220 - rfcomm_sock_shutdown+0xe9/0x210 net/bluetooth/rfcomm/sock.c:931 - rfcomm_sock_release+0x5f/0x140 net/bluetooth/rfcomm/sock.c:951 - __sock_release+0xcd/0x280 net/socket.c:649 - sock_close+0x18/0x20 net/socket.c:1314 - __fput+0x288/0x920 fs/file_table.c:280 - task_work_run+0xdd/0x1a0 kernel/task_work.c:164 - exit_task_work include/linux/task_work.h:32 [inline] - do_exit+0xbd4/0x2a60 kernel/exit.c:825 - do_group_exit+0x125/0x310 kernel/exit.c:922 - get_signal+0x47f/0x2160 kernel/signal.c:2808 - arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865 - handle_signal_work kernel/entry/common.c:148 [inline] - exit_to_user_mode_loop kernel/entry/common.c:172 [inline] - exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209 - __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] - syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302 - do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 - entry_SYSCALL_64_after_hwframe+0x44/0xae - -Showing all locks held in the system: -1 lock held by khungtaskd/1653: - #0: ffffffff8b97c280 (rcu_read_lock){....}-{1:2}, at: - debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6446 -1 lock held by krfcommd/4781: - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_process_sessions net/bluetooth/rfcomm/core.c:1979 [inline] - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_run+0x2ed/0x4a20 net/bluetooth/rfcomm/core.c:2086 -2 locks held by in:imklog/8206: - #0: ffff8880182ce5f0 (&f->f_pos_lock){+.+.}-{3:3}, at: - __fdget_pos+0xe9/0x100 fs/file.c:974 - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - raw_spin_rq_lock_nested kernel/sched/core.c:460 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock - kernel/sched/sched.h:1307 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: rq_lock - kernel/sched/sched.h:1610 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - __schedule+0x233/0x26f0 kernel/sched/core.c:5852 -4 locks held by syz-executor255/8499: - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - inode_lock include/linux/fs.h:774 [inline] - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - __sock_release+0x86/0x280 net/socket.c:648 - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: lock_sock include/net/sock.h:1612 [inline] - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: rfcomm_sock_shutdown+0x54/0x210 net/bluetooth/rfcomm/sock.c:928 - #2: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_dlc_close+0x34/0x240 net/bluetooth/rfcomm/core.c:507 - #3: ffff888141bd6d28 (&d->lock){+.+.}-{3:3}, at: - __rfcomm_dlc_close+0x162/0x8a0 net/bluetooth/rfcomm/core.c:487 -================================================================== - -The task hangs because of a deadlock that occurs when lock_sock() is -called in rfcomm_sk_state_change(). One such call stack is: - - rfcomm_sock_shutdown(): - lock_sock(); - __rfcomm_sock_close(): - rfcomm_dlc_close(): - __rfcomm_dlc_close(): - rfcomm_dlc_lock(); - rfcomm_sk_state_change(): - lock_sock(); - -lock_sock() has to be called when the sk state is changed because the -lock is not always held when rfcomm_sk_state_change() is -called. However, besides the recursive deadlock, there is also an -issue of a lock hierarchy inversion between rfcomm_dlc_lock() and -lock_sock() if the socket is locked in rfcomm_sk_state_change(). - -To avoid these issues, we can instead schedule the sk state change in -the global workqueue. This is already the implicit assumption about -how sk state changes happen. For example, in rfcomm_sock_shutdown(), -the call to __rfcomm_sock_close() is followed by -bt_sock_wait_state(). - -Additionally, the call to rfcomm_sock_kill() inside -rfcomm_sk_state_change() should be removed. The socket shouldn't be -killed here because only rfcomm_sock_release() calls sock_orphan(), -which it already follows up with a call to rfcomm_sock_kill(). - -Fixes: b7ce436a5d79 ("Bluetooth: switch to lock_sock in RFCOMM") -Link: https://syzkaller.appspot.com/bug?extid=7d51f807c81b190a127d [1] -Reported-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Tested-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Cc: Hillf Danton <hdanton@sina.com> ---- - include/net/bluetooth/rfcomm.h | 3 +++ - net/bluetooth/rfcomm/core.c | 2 ++ - net/bluetooth/rfcomm/sock.c | 34 ++++++++++++++++++++++------------ - 3 files changed, 27 insertions(+), 12 deletions(-) - -diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h -index 99d26879b02a..a92799fc5e74 100644 ---- a/include/net/bluetooth/rfcomm.h -+++ b/include/net/bluetooth/rfcomm.h -@@ -171,6 +171,7 @@ struct rfcomm_dlc { - struct rfcomm_session *session; - struct sk_buff_head tx_queue; - struct timer_list timer; -+ struct work_struct state_change_work; - - struct mutex lock; - unsigned long state; -@@ -186,6 +187,7 @@ struct rfcomm_dlc { - u8 sec_level; - u8 role_switch; - u32 defer_setup; -+ int err; - - uint mtu; - uint cfc; -@@ -310,6 +312,7 @@ struct rfcomm_pinfo { - u8 role_switch; - }; - -+void __rfcomm_sk_state_change(struct work_struct *work); - int rfcomm_init_sockets(void); - void rfcomm_cleanup_sockets(void); - -diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c -index 7324764384b6..c6494e85cd68 100644 ---- a/net/bluetooth/rfcomm/core.c -+++ b/net/bluetooth/rfcomm/core.c -@@ -289,6 +289,7 @@ static void rfcomm_dlc_clear_state(struct rfcomm_dlc *d) - d->flags = 0; - d->mscex = 0; - d->sec_level = BT_SECURITY_LOW; -+ d->err = 0; - d->mtu = RFCOMM_DEFAULT_MTU; - d->v24_sig = RFCOMM_V24_RTC | RFCOMM_V24_RTR | RFCOMM_V24_DV; - -@@ -306,6 +307,7 @@ struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) - timer_setup(&d->timer, rfcomm_dlc_timeout, 0); - - skb_queue_head_init(&d->tx_queue); -+ INIT_WORK(&d->state_change_work, __rfcomm_sk_state_change); - mutex_init(&d->lock); - refcount_set(&d->refcnt, 1); - -diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c -index 4bf4ea6cbb5e..4850dafbaa05 100644 ---- a/net/bluetooth/rfcomm/sock.c -+++ b/net/bluetooth/rfcomm/sock.c -@@ -61,19 +61,22 @@ static void rfcomm_sk_data_ready(struct rfcomm_dlc *d, struct sk_buff *skb) - rfcomm_dlc_throttle(d); - } - --static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+void __rfcomm_sk_state_change(struct work_struct *work) - { -+ struct rfcomm_dlc *d = container_of(work, struct rfcomm_dlc, -+ state_change_work); - struct sock *sk = d->owner, *parent; - - if (!sk) - return; - -- BT_DBG("dlc %p state %ld err %d", d, d->state, err); -- - lock_sock(sk); -+ rfcomm_dlc_lock(d); - -- if (err) -- sk->sk_err = err; -+ BT_DBG("dlc %p state %ld err %d", d, d->state, d->err); -+ -+ if (d->err) -+ sk->sk_err = d->err; - - sk->sk_state = d->state; - -@@ -91,15 +94,22 @@ static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) - sk->sk_state_change(sk); - } - -+ rfcomm_dlc_unlock(d); - release_sock(sk); -+ sock_put(sk); -+} - -- if (parent && sock_flag(sk, SOCK_ZAPPED)) { -- /* We have to drop DLC lock here, otherwise -- * rfcomm_sock_destruct() will dead lock. */ -- rfcomm_dlc_unlock(d); -- rfcomm_sock_kill(sk); -- rfcomm_dlc_lock(d); -- } -+static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+{ -+ struct sock *sk = d->owner; -+ -+ if (!sk) -+ return; -+ -+ d->err = err; -+ sock_hold(sk); -+ if (!schedule_work(&d->state_change_work)) -+ sock_put(sk); - } - - /* ---- Socket functions ---- */ --- -2.35.1 - diff --git a/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch b/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch new file mode 100644 index 000000000000..bc1743ff6cde --- /dev/null +++ b/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch @@ -0,0 +1,101 @@ +From 9c459cce9a715b7e5881b3bc4782eb7e7368066c Mon Sep 17 00:00:00 2001 +From: Frederic Weisbecker <frederic@kernel.org> +Date: Tue, 8 Feb 2022 17:16:33 +0100 +Subject: [PATCH 4/7] tick/rcu: Remove obsolete rcu_needs_cpu() parameters + +With the removal of CONFIG_RCU_FAST_NO_HZ, the parameters in +rcu_needs_cpu() are not necessary anymore. Simply remove them. + +Signed-off-by: Frederic Weisbecker <frederic@kernel.org> +Cc: Thomas Gleixner <tglx@linutronix.de> +Cc: Peter Zijlstra <peterz@infradead.org> +Cc: Paul E. McKenney <paulmck@kernel.org> +Cc: Paul Menzel <pmenzel@molgen.mpg.de> +--- + include/linux/rcutiny.h | 3 +-- + include/linux/rcutree.h | 2 +- + kernel/rcu/tree.c | 3 +-- + kernel/time/tick-sched.c | 10 ++++------ + 4 files changed, 7 insertions(+), 11 deletions(-) + +diff --git a/include/linux/rcutiny.h b/include/linux/rcutiny.h +index 858f4d429946..5fed476f977f 100644 +--- a/include/linux/rcutiny.h ++++ b/include/linux/rcutiny.h +@@ -64,9 +64,8 @@ static inline void rcu_softirq_qs(void) + rcu_tasks_qs(current, (preempt)); \ + } while (0) + +-static inline int rcu_needs_cpu(u64 basemono, u64 *nextevt) ++static inline int rcu_needs_cpu(void) + { +- *nextevt = KTIME_MAX; + return 0; + } + +diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h +index 53209d669400..6cc91291d078 100644 +--- a/include/linux/rcutree.h ++++ b/include/linux/rcutree.h +@@ -19,7 +19,7 @@ + + void rcu_softirq_qs(void); + void rcu_note_context_switch(bool preempt); +-int rcu_needs_cpu(u64 basem, u64 *nextevt); ++int rcu_needs_cpu(void); + void rcu_cpu_stall_reset(void); + + /* +diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c +index 73a4c9d07b86..5dae0da879ae 100644 +--- a/kernel/rcu/tree.c ++++ b/kernel/rcu/tree.c +@@ -1086,9 +1086,8 @@ void rcu_irq_enter_irqson(void) + * Just check whether or not this CPU has non-offloaded RCU callbacks + * queued. + */ +-int rcu_needs_cpu(u64 basemono, u64 *nextevt) ++int rcu_needs_cpu(void) + { +- *nextevt = KTIME_MAX; + return !rcu_segcblist_empty(&this_cpu_ptr(&rcu_data)->cblist) && + !rcu_rdp_is_offloaded(this_cpu_ptr(&rcu_data)); + } +diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c +index c89f50a7e690..566ad5bd83e9 100644 +--- a/kernel/time/tick-sched.c ++++ b/kernel/time/tick-sched.c +@@ -785,7 +785,7 @@ static inline bool local_timer_softirq_pending(void) + + static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu) + { +- u64 basemono, next_tick, next_tmr, next_rcu, delta, expires; ++ u64 basemono, next_tick, delta, expires; + unsigned long basejiff; + unsigned int seq; + +@@ -808,7 +808,7 @@ static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu) + * minimal delta which brings us back to this place + * immediately. Lather, rinse and repeat... + */ +- if (rcu_needs_cpu(basemono, &next_rcu) || arch_needs_cpu() || ++ if (rcu_needs_cpu() || arch_needs_cpu() || + irq_work_needs_cpu() || local_timer_softirq_pending()) { + next_tick = basemono + TICK_NSEC; + } else { +@@ -819,10 +819,8 @@ static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu) + * disabled this also looks at the next expiring + * hrtimer. + */ +- next_tmr = get_next_timer_interrupt(basejiff, basemono); +- ts->next_timer = next_tmr; +- /* Take the next rcu event into account */ +- next_tick = next_rcu < next_tmr ? next_rcu : next_tmr; ++ next_tick = get_next_timer_interrupt(basejiff, basemono); ++ ts->next_timer = next_tick; + } + + /* +-- +2.35.2 + diff --git a/0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch b/0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch deleted file mode 100644 index c8576e91df07..000000000000 --- a/0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4e81555c7206a6e0e7053743e9f535c5e87feeee Mon Sep 17 00:00:00 2001 -From: Deren Wu <deren.wu@mediatek.com> -Date: Sun, 14 Nov 2021 10:46:57 +0800 -Subject: [PATCH 5/8] mt76: mt7921: add support for PCIe ID 0x0608/0x0616 - -New mt7921 serials chip support - -Signed-off-by: Deren Wu <deren.wu@mediatek.com> -Signed-off-by: Felix Fietkau <nbd@nbd.name> ---- - drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -index 40186e6cd865..1212b803b1c8 100644 ---- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -+++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -@@ -15,6 +15,8 @@ - static const struct pci_device_id mt7921_pci_device_table[] = { - { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7961) }, - { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7922) }, -+ { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x0608) }, -+ { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x0616) }, - { }, - }; - --- -2.35.1 - diff --git a/0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch b/0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch new file mode 100644 index 000000000000..f32b29c9ca53 --- /dev/null +++ b/0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch @@ -0,0 +1,119 @@ +From 847c5be9783c5b975bfe7aa7d47a095d6a48945c Mon Sep 17 00:00:00 2001 +From: Frederic Weisbecker <frederic@kernel.org> +Date: Tue, 8 Feb 2022 17:16:34 +0100 +Subject: [PATCH 5/7] tick/rcu: Stop allowing RCU_SOFTIRQ in idle + +RCU_SOFTIRQ used to be special in that it could be raised on purpose +within the idle path to prevent from stopping the tick. Some code still +prevents from unnecessary warnings related to this specific behaviour +while entering in dynticks-idle mode. + +However the nohz layout has changed quite a bit in ten years, and the +removal of CONFIG_RCU_FAST_NO_HZ has been the final straw to this +safe-conduct. Now the RCU_SOFTIRQ vector is expected to be raised from +sane places. + +A remaining corner case is admitted though when the vector is invoked +in fragile hotplug path. + +Signed-off-by: Frederic Weisbecker <frederic@kernel.org> +Cc: Thomas Gleixner <tglx@linutronix.de> +Cc: Peter Zijlstra <peterz@infradead.org> +Cc: Paul E. McKenney <paulmck@kernel.org> +Cc: Paul Menzel <pmenzel@molgen.mpg.de> +--- + include/linux/interrupt.h | 8 ++++++- + kernel/time/tick-sched.c | 50 +++++++++++++++++++++++++++++++-------- + 2 files changed, 47 insertions(+), 11 deletions(-) + +diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h +index 9367f1cb2e3c..9613326d2f8a 100644 +--- a/include/linux/interrupt.h ++++ b/include/linux/interrupt.h +@@ -579,7 +579,13 @@ enum + NR_SOFTIRQS + }; + +-#define SOFTIRQ_STOP_IDLE_MASK (~(1 << RCU_SOFTIRQ)) ++/* ++ * Ignoring the RCU vector after ksoftirqd is parked is fine ++ * because: ++ * 1) rcutree_migrate_callbacks() takes care of the queue. ++ * 2) rcu_report_dead() reports the final quiescent states. ++ */ ++#define SOFTIRQ_HOTPLUG_SAFE_MASK (BIT(RCU_SOFTIRQ)) + + /* map softirq index to softirq name. update 'softirq_to_name' in + * kernel/softirq.c when adding a new softirq. +diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c +index 566ad5bd83e9..2d76c91b85de 100644 +--- a/kernel/time/tick-sched.c ++++ b/kernel/time/tick-sched.c +@@ -999,6 +999,45 @@ static void tick_nohz_full_update_tick(struct tick_sched *ts) + __tick_nohz_full_update_tick(ts, ktime_get()); + } + ++/* ++ * A pending softirq outside an IRQ (or softirq disabled section) context ++ * should be waiting for ksoftirqd to handle it. Therefore we shouldn't ++ * reach here due to the need_resched() early check in can_stop_idle_tick(). ++ * ++ * However if we are between CPUHP_AP_SMPBOOT_THREADS and CPU_TEARDOWN_CPU on the ++ * cpu_down() process, softirqs can still be raised while ksoftirqd is parked, ++ * triggering the below since wakep_softirqd() is ignored. ++ * ++ */ ++static bool report_idle_softirq(void) ++{ ++ static int ratelimit; ++ unsigned int pending = local_softirq_pending(); ++ ++ if (likely(!pending)) ++ return false; ++ ++ /* Some softirqs claim to be safe against hotplug and ksoftirqd parking */ ++ if (!cpu_active(smp_processor_id())) { ++ pending &= ~SOFTIRQ_HOTPLUG_SAFE_MASK; ++ if (!pending) ++ return false; ++ } ++ ++ if (ratelimit < 10) ++ return false; ++ ++ /* On RT, softirqs handling may be waiting on some lock */ ++ if (!local_bh_blocked()) ++ return false; ++ ++ pr_warn("NOHZ tick-stop error: local softirq work is pending, handler #%02x!!!\n", ++ pending); ++ ratelimit++; ++ ++ return true; ++} ++ + static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) + { + /* +@@ -1025,17 +1064,8 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) + if (need_resched()) + return false; + +- if (unlikely(local_softirq_pending())) { +- static int ratelimit; +- +- if (ratelimit < 10 && !local_bh_blocked() && +- (local_softirq_pending() & SOFTIRQ_STOP_IDLE_MASK)) { +- pr_warn("NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #%02x!!!\n", +- (unsigned int) local_softirq_pending()); +- ratelimit++; +- } ++ if (unlikely(report_idle_softirq())) + return false; +- } + + if (tick_nohz_full_enabled()) { + /* +-- +2.35.2 + diff --git a/0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch b/0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch new file mode 100644 index 000000000000..ba9f71c67e8c --- /dev/null +++ b/0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch @@ -0,0 +1,55 @@ +From 08bf86e715ee2bea1076b12859db99cb76ab2cd2 Mon Sep 17 00:00:00 2001 +From: Frederic Weisbecker <frederic@kernel.org> +Date: Tue, 8 Feb 2022 17:16:35 +0100 +Subject: [PATCH 6/7] lib/irq_poll: Declare IRQ_POLL softirq vector as + ksoftirqd-parking safe + +The following warning may appear while setting a CPU down: + + NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #20!!! + +The IRQ_POLL_SOFTIRQ vector can be raised during the hotplug cpu_down() +path after ksoftirqd is parked and before the CPU actually dies. However +this is handled afterward at the CPUHP_IRQ_POLL_DEAD stage where the +queue gets migrated. + +Hence this warning can be considered spurious and the vector can join +the "hotplug-safe" list. + +Reported-and-tested-by: Paul Menzel <pmenzel@molgen.mpg.de> +Signed-off-by: Frederic Weisbecker <frederic@kernel.org> +Cc: Thomas Gleixner <tglx@linutronix.de> +Cc: Peter Zijlstra <peterz@infradead.org> +Cc: Paul E. McKenney <paulmck@kernel.org> +Cc: Paul Menzel <pmenzel@molgen.mpg.de> +--- + include/linux/interrupt.h | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h +index 9613326d2f8a..f40754caaefa 100644 +--- a/include/linux/interrupt.h ++++ b/include/linux/interrupt.h +@@ -580,12 +580,15 @@ enum + }; + + /* +- * Ignoring the RCU vector after ksoftirqd is parked is fine +- * because: +- * 1) rcutree_migrate_callbacks() takes care of the queue. ++ * The following vectors can be safely ignored after ksoftirqd is parked: ++ * ++ * _ RCU: ++ * 1) rcutree_migrate_callbacks() migrates the queue. + * 2) rcu_report_dead() reports the final quiescent states. ++ * ++ * _ IRQ_POLL: irq_poll_cpu_dead() migrates the queue + */ +-#define SOFTIRQ_HOTPLUG_SAFE_MASK (BIT(RCU_SOFTIRQ)) ++#define SOFTIRQ_HOTPLUG_SAFE_MASK (BIT(RCU_SOFTIRQ) | BIT(IRQ_POLL_SOFTIRQ)) + + /* map softirq index to softirq name. update 'softirq_to_name' in + * kernel/softirq.c when adding a new softirq. +-- +2.35.2 + diff --git a/0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch b/0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch deleted file mode 100644 index ef3754ccea3b..000000000000 --- a/0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 6dee1fe4a4890f47f3d7d3fb0b6790cf5d00c9db Mon Sep 17 00:00:00 2001 -From: Tzung-Bi Shih <tzungbi@google.com> -Date: Fri, 10 Dec 2021 17:17:46 +0800 -Subject: [PATCH 6/8] mt76: mt7921: reduce log severity levels for informative - messages - -"ASIC revision" and "Firmware init done" shouldn't be error messages. -Reduces the severity levels. - -Signed-off-by: Tzung-Bi Shih <tzungbi@google.com> -Signed-off-by: Felix Fietkau <nbd@nbd.name> ---- - drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 2 +- - drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c -index 4c6adbb96955..ea4edf187e0a 100644 ---- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c -+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c -@@ -869,7 +869,7 @@ static int mt7921_load_firmware(struct mt7921_dev *dev) - dev->mt76.hw->wiphy->wowlan = &mt76_connac_wowlan_support; - #endif /* CONFIG_PM */ - -- dev_err(dev->mt76.dev, "Firmware init done\n"); -+ dev_dbg(dev->mt76.dev, "Firmware init done\n"); - - return 0; - } -diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -index 1212b803b1c8..9dae2f5972bf 100644 ---- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -+++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c -@@ -190,7 +190,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev, - tasklet_init(&dev->irq_tasklet, mt7921_irq_tasklet, (unsigned long)dev); - mdev->rev = (mt7921_l1_rr(dev, MT_HW_CHIPID) << 16) | - (mt7921_l1_rr(dev, MT_HW_REV) & 0xff); -- dev_err(mdev->dev, "ASIC revision: %04x\n", mdev->rev); -+ dev_info(mdev->dev, "ASIC revision: %04x\n", mdev->rev); - - mt76_wr(dev, MT_WFDMA0_HOST_INT_ENA, 0); - --- -2.35.1 - diff --git a/0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch b/0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch deleted file mode 100644 index 517e5eeaefe0..000000000000 --- a/0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 0092dcf3f0e0ee394a018a86989aea69081c4cea Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org> -Date: Thu, 24 Feb 2022 03:14:51 +0100 -Subject: [PATCH 7/8] Revert "NFSv4.1 query for fs_location attr on a new file - system" - -This reverts commit 55b35b43a16ebed88df3ffac11e17ad0909bdf19. - -For: https://bugs.archlinux.org/task/73838 -For: https://bugs.archlinux.org/task/73860 ---- - fs/nfs/client.c | 7 ---- - fs/nfs/nfs4_fs.h | 9 +++-- - fs/nfs/nfs4proc.c | 76 ++++++----------------------------------- - fs/nfs/nfs4state.c | 3 +- - include/linux/nfs_xdr.h | 1 - - 5 files changed, 15 insertions(+), 81 deletions(-) - -diff --git a/fs/nfs/client.c b/fs/nfs/client.c -index a1e87419f3a4..2d2f2c091c65 100644 ---- a/fs/nfs/client.c -+++ b/fs/nfs/client.c -@@ -860,13 +860,6 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str - server->namelen = pathinfo.max_namelen; - } - -- if (clp->rpc_ops->discover_trunking != NULL && -- (server->caps & NFS_CAP_FS_LOCATIONS)) { -- error = clp->rpc_ops->discover_trunking(server, mntfh); -- if (error < 0) -- return error; -- } -- - return 0; - } - -diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h -index 85c5d08dfa9c..2364661a6a08 100644 ---- a/fs/nfs/nfs4_fs.h -+++ b/fs/nfs/nfs4_fs.h -@@ -260,8 +260,8 @@ struct nfs4_state_maintenance_ops { - }; - - struct nfs4_mig_recovery_ops { -- int (*get_locations)(struct nfs_server *, struct nfs_fh *, -- struct nfs4_fs_locations *, struct page *, const struct cred *); -+ int (*get_locations)(struct inode *, struct nfs4_fs_locations *, -+ struct page *, const struct cred *); - int (*fsid_present)(struct inode *, const struct cred *); - }; - -@@ -303,9 +303,8 @@ extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait); - extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle); - extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *, - struct nfs4_fs_locations *, struct page *); --extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *, -- struct nfs4_fs_locations *, -- struct page *page, const struct cred *); -+extern int nfs4_proc_get_locations(struct inode *, struct nfs4_fs_locations *, -+ struct page *page, const struct cred *); - extern int nfs4_proc_fsid_present(struct inode *, const struct cred *); - extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *, - struct dentry *, -diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index 0abbbf5d2bdf..ba3aa4575d25 100644 ---- a/fs/nfs/nfs4proc.c -+++ b/fs/nfs/nfs4proc.c -@@ -3933,60 +3933,6 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) - return err; - } - --static int _nfs4_discover_trunking(struct nfs_server *server, -- struct nfs_fh *fhandle) --{ -- struct nfs4_fs_locations *locations = NULL; -- struct page *page; -- const struct cred *cred; -- struct nfs_client *clp = server->nfs_client; -- const struct nfs4_state_maintenance_ops *ops = -- clp->cl_mvops->state_renewal_ops; -- int status = -ENOMEM; -- -- cred = ops->get_state_renewal_cred(clp); -- if (cred == NULL) { -- cred = nfs4_get_clid_cred(clp); -- if (cred == NULL) -- return -ENOKEY; -- } -- -- page = alloc_page(GFP_KERNEL); -- locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL); -- if (page == NULL || locations == NULL) -- goto out; -- -- status = nfs4_proc_get_locations(server, fhandle, locations, page, -- cred); -- if (status) -- goto out; --out: -- if (page) -- __free_page(page); -- kfree(locations); -- return status; --} -- --static int nfs4_discover_trunking(struct nfs_server *server, -- struct nfs_fh *fhandle) --{ -- struct nfs4_exception exception = { -- .interruptible = true, -- }; -- struct nfs_client *clp = server->nfs_client; -- int err = 0; -- -- if (!nfs4_has_session(clp)) -- goto out; -- do { -- err = nfs4_handle_exception(server, -- _nfs4_discover_trunking(server, fhandle), -- &exception); -- } while (exception.retry); --out: -- return err; --} -- - static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, - struct nfs_fsinfo *info) - { -@@ -7873,18 +7819,18 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir, - * appended to this compound to identify the client ID which is - * performing recovery. - */ --static int _nfs40_proc_get_locations(struct nfs_server *server, -- struct nfs_fh *fhandle, -+static int _nfs40_proc_get_locations(struct inode *inode, - struct nfs4_fs_locations *locations, - struct page *page, const struct cred *cred) - { -+ struct nfs_server *server = NFS_SERVER(inode); - struct rpc_clnt *clnt = server->client; - u32 bitmask[2] = { - [0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS, - }; - struct nfs4_fs_locations_arg args = { - .clientid = server->nfs_client->cl_clientid, -- .fh = fhandle, -+ .fh = NFS_FH(inode), - .page = page, - .bitmask = bitmask, - .migration = 1, /* skip LOOKUP */ -@@ -7930,17 +7876,17 @@ static int _nfs40_proc_get_locations(struct nfs_server *server, - * When the client supports GETATTR(fs_locations_info), it can - * be plumbed in here. - */ --static int _nfs41_proc_get_locations(struct nfs_server *server, -- struct nfs_fh *fhandle, -+static int _nfs41_proc_get_locations(struct inode *inode, - struct nfs4_fs_locations *locations, - struct page *page, const struct cred *cred) - { -+ struct nfs_server *server = NFS_SERVER(inode); - struct rpc_clnt *clnt = server->client; - u32 bitmask[2] = { - [0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS, - }; - struct nfs4_fs_locations_arg args = { -- .fh = fhandle, -+ .fh = NFS_FH(inode), - .page = page, - .bitmask = bitmask, - .migration = 1, /* skip LOOKUP */ -@@ -7989,11 +7935,11 @@ static int _nfs41_proc_get_locations(struct nfs_server *server, - * -NFS4ERR_LEASE_MOVED is returned if the server still has leases - * from this client that require migration recovery. - */ --int nfs4_proc_get_locations(struct nfs_server *server, -- struct nfs_fh *fhandle, -+int nfs4_proc_get_locations(struct inode *inode, - struct nfs4_fs_locations *locations, - struct page *page, const struct cred *cred) - { -+ struct nfs_server *server = NFS_SERVER(inode); - struct nfs_client *clp = server->nfs_client; - const struct nfs4_mig_recovery_ops *ops = - clp->cl_mvops->mig_recovery_ops; -@@ -8006,11 +7952,10 @@ int nfs4_proc_get_locations(struct nfs_server *server, - (unsigned long long)server->fsid.major, - (unsigned long long)server->fsid.minor, - clp->cl_hostname); -- nfs_display_fhandle(fhandle, __func__); -+ nfs_display_fhandle(NFS_FH(inode), __func__); - - do { -- status = ops->get_locations(server, fhandle, locations, page, -- cred); -+ status = ops->get_locations(inode, locations, page, cred); - if (status != -NFS4ERR_DELAY) - break; - nfs4_handle_exception(server, status, &exception); -@@ -10479,7 +10424,6 @@ const struct nfs_rpc_ops nfs_v4_clientops = { - .free_client = nfs4_free_client, - .create_server = nfs4_create_server, - .clone_server = nfs_clone_server, -- .discover_trunking = nfs4_discover_trunking, - }; - - static const struct xattr_handler nfs4_xattr_nfs4_acl_handler = { -diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c -index 499bef9fe118..f3265575c28d 100644 ---- a/fs/nfs/nfs4state.c -+++ b/fs/nfs/nfs4state.c -@@ -2098,8 +2098,7 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred - } - - inode = d_inode(server->super->s_root); -- result = nfs4_proc_get_locations(server, NFS_FH(inode), locations, -- page, cred); -+ result = nfs4_proc_get_locations(inode, locations, page, cred); - if (result) { - dprintk("<-- %s: failed to retrieve fs_locations: %d\n", - __func__, result); -diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h -index 695fa84611b6..967a0098f0a9 100644 ---- a/include/linux/nfs_xdr.h -+++ b/include/linux/nfs_xdr.h -@@ -1795,7 +1795,6 @@ struct nfs_rpc_ops { - struct nfs_server *(*create_server)(struct fs_context *); - struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *, - struct nfs_fattr *, rpc_authflavor_t); -- int (*discover_trunking)(struct nfs_server *, struct nfs_fh *); - }; - - /* --- -2.35.1 - @@ -64,51 +64,51 @@ _subarch= ### IMPORTANT: Do no edit below this line unless you know what you're doing pkgbase=linux-ck -pkgver=5.16.20 -pkgrel=1 +pkgver=5.17.3 +pkgrel=2 arch=(x86_64) url="https://wiki.archlinux.org/index.php/Linux-ck" license=(GPL2) +depends=(coreutils kmod initramfs) makedepends=( - bc kmod libelf cpio perl tar xz + bc libelf cpio perl tar xz ) options=('!strip') # https://ck-hack.blogspot.com/2021/08/514-and-future-of-muqss-and-ck-once.html # thankfully xanmod keeps the hrtimer patches up to date -_commit=c8fd0bce08e6219df068e717c53aa08a7fbb496d -_xan=linux-5.16.y-xanmod +_commit=bc1b55888981e44698a1dfccc06821522e6be010 +_xan=linux-5.17.y-xanmod -_gcc_more_v=20211114 +_gcc_more_v=20220315 source=( "https://www.kernel.org/pub/linux/kernel/v5.x/linux-$pkgver.tar".{xz,sign} config # the main kernel config file "more-uarches-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/$_gcc_more_v.tar.gz" - "xanmod-patches-from-ck-$_commit.tar.gz::https://github.com/xanmod/linux-patches/archive/$_commit.tar.gz" + #"xanmod-patches-from-ck-$_commit.tar.gz::https://github.com/xanmod/linux-patches/archive/$_commit.tar.gz" + "xanmod-patches-from-ck-$_commit.tar.gz::https://github.com/graysky2/linux-patches/archive/$_commit.tar.gz" 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch - 0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch - 0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch - 0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch - 0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch - 0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch + 0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch + 0003-tick-Detect-and-fix-jiffies-update-stall.patch + 0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch + 0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch + 0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) -b2sums=('798baf7051b3f20d34741067769c6a59a04ba922468789e61ce5a6c4d0c3d336a0f3bacc9f482827722e7577828140772e5cbd76b844cc836d4d6b26e0c154ec' +b2sums=('03fd68cd2a9c70fcb20dbec8b62f524f032924cf3ba555d78a2348b80bbe61735e6140d0d38d74bf3051ac19a67be7c62c67dfc9ef697097ed24637427e72dc7' 'SKIP' - 'f37b180eac2737e7398654c9cf2d3b0ee93b194804d22827ad776a605692ddc098cba8ca7ba7dc2f2959cabc4eca92c73cdacbfa34182fdb98ab9199f161b5c4' - '534091fb5034226d48f18da2114305860e67ee49a1d726b049a240ce61df83e840a9a255e5b8fa9279ec07dd69fb0aea6e2e48962792c2b5367db577a4423d8d' - '47843d5eae56b388742ef6d73372962a2f28c03d73501ddf30b62a194b81b781d0d5ce73131e30c70d09cdb27a2960bf952ed9e4767222c5bd44605047087ee7' - '85ff480287d5e9b26eec6392022d1496c10900d3c015ff2f65130b347477930222c2a28e1e2175f39a324f39148bdd75cadfaa66100c65df2fa7106d8e86ce06' - '1f3bbd94a7a4d3cce39786a5c7a5b5aa60c7efef3f4608908d0f8e463bcdaa390f467c1c78cd2ecbc683e81ee6d7ce6a5ebbe8634c7e9c203e3d3abbf929b051' - '12a5d08ceef328f3353833eed2f206ca6c08377abee8802de0ae32194b15c243b996b4c7bed257597b823683c0e80aadfdac94f32c7456a4f2af98ef3cecbe73' - '7a386793b84f0eb5d38cd8f9cd063748c3f3d9adebebdfa9b16d2c889d510f35b3c01d1d185008336c08e87c3597d4a7bd09e1f5d0038138a4af0c88459da6e4' - 'a9f0b7954ba77f94ae3bc49c621610a88f0888f91c93b4a4188569c0e06c5afe355971ad4323b03d79aa5cb63bfe5dc4a52dbf0267fd6a1f3e6d3c64dcc77b13' - '5f4af41492f1a13f2a40764f5e1838588d2fd53addfd2cea05de4d51f760da5e6968ffaba9b6749fcdec5034dc1572777def8497cc978a01fd4b5eb82673f2e4' - '03096c8152ed3a671a9f59565dd891f10a5a8a91d03fa1fa8a5db85291f41a6f1cc5f44c47a2c8e78a690599afbd79d2ed12498b0494b4bc0d0311c0102598a3') + '3d1e2c1dff1e828c655b449962fb47c49fdf77d58c65c8af41ee8c56fbb2d8fdb7d0b963c775b26ac4022c6e0f9c8d19c11bc1e0e358580396520e9261bc8eeb' + '20674a8fcc0a85726e06460a7dbccfe731c46bf377cc3bf511b7591175e7df892f271bc1909e77d9a02913c753d241493502c5ab15d9f78e95f31aa4399c2c27' + '96a893b65eb7f87c133b7a8d069c776950d41589e89096aad08601acaa3d67e3cad00c1611de526797d9f8785996ceb7c083aeb9aa248b5151fdc45b34764fba' + '576fcf6c4aa7a34af4c613e6bf9b2311bf60f328435e3ebfff292b5fcf5e6db30305396346ac71473cd7ee1efa44bb28019b9db1e0c4f705682aff77b77e7f9f' + '2e1fb80e3058241341b3d1b1f92c045a9d05308315e132bc8675e6a0f6ea693a0a826b160027d5db37cfab9dd4490c2288fe0dfe60f22f13f0758e0f9525320f' + 'd81e1336f760290cc93112162d0d5a1ff8443f552e7a6ef35a27838b0b2f7705f974846a148dfe3dad51de63084f6390e2c4ce70ab03dab31963198c82449c24' + 'e603f7f460f0e9ca69b7c94a81941cfe91c21cc1a2d2dae14487010c9935b7bd1bb458dc2286a5365995cdeec3f28f3c0e4271995b74cd89bf0673c4dd65362a' + 'a6ae40cbf866d3d8add726a262b67818f0348897896e50e112523ad8e72f2bfde57afbfbd02c863661200f9b5caa389d49eac9aa8cbcffa8e52acb5a69fe7f02' + 'fd94c5e3e186c1c953008190b2c913eab0d1b1bc410993fc6995ebdbcc82404c7b352805ee8cff9dfdbbddd5f9bd51b1a63fbaac00bd1552c630b8c9b48eca22') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase @@ -162,8 +162,7 @@ prepare() { # these are ck's htrimer patches echo "Patching with ck hrtimer patches..." - #for i in ../linux-patches-"$_commit"/"$_xan"/ck-hrtimer/0*.patch; do - for i in ../linux-patches-"$_commit"/linux-5.15.y-xanmod/ck-hrtimer/0*.patch; do + for i in ../linux-patches-"$_commit"/"$_xan"/ck-hrtimer/0*.patch; do patch -Np1 -i $i done @@ -175,7 +174,7 @@ prepare() { # https://github.com/graysky2/kernel_gcc_patch # make sure to apply after olddefconfig to allow the next section echo "Patching to enable GCC optimization for other uarchs..." - patch -Np1 -i "$srcdir/kernel_compiler_patch-$_gcc_more_v/more-uarches-for-kernel-5.15+.patch" + patch -Np1 -i "$srcdir/kernel_compiler_patch-$_gcc_more_v/more-uarches-for-kernel-5.17+.patch" if [ -n "$_subarch" ]; then # user wants a subarch so apply choice defined above interactively via 'yes' @@ -217,7 +216,7 @@ build() { _package() { pkgdesc="The ${pkgbase/linux/Linux} kernel and modules with ck's hrtimer patches" depends=(coreutils kmod initramfs) - optdepends=('crda: to set the correct wireless channels of your country' + optdepends=('wireless-regdb: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices') provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) #groups=('ck-generic') @@ -240,10 +239,8 @@ _package() { echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "Installing modules..." - #make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install - # not needed since not building with CONFIG_DEBUG_INFO=y - - make INSTALL_MOD_PATH="$pkgdir/usr" modules_install + make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \ + DEPMOD=/doesnt/exist modules_install # Suppress depmod # remove build and source links rm "$modulesdir"/{source,build} @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.16.14-arch1 Kernel Configuration +# Linux/x86 5.17.2-arch1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0" CONFIG_CC_IS_GCC=y @@ -167,7 +167,6 @@ CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 -CONFIG_RCU_FAST_NO_HZ=y CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_DELAY=500 # CONFIG_RCU_NOCB_CPU is not set @@ -287,6 +286,7 @@ CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y +CONFIG_GUEST_PERF_EVENTS=y # # Kernel Performance Events And Counters @@ -329,9 +329,6 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_FILTER_PGPROT=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_NR_GPIO=1024 CONFIG_ARCH_SUSPEND_POSSIBLE=y @@ -453,6 +450,7 @@ CONFIG_X86_CPUID=y CONFIG_X86_5LEVEL=y CONFIG_X86_DIRECT_GBPAGES=y CONFIG_X86_CPA_STATISTICS=y +CONFIG_X86_MEM_ENCRYPT=y CONFIG_AMD_MEM_ENCRYPT=y # CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set CONFIG_NUMA=y @@ -523,7 +521,6 @@ CONFIG_HAVE_LIVEPATCH=y CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y -CONFIG_USE_PERCPU_NUMA_NODE_ID=y # # Power management and ACPI options @@ -556,6 +553,7 @@ CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +CONFIG_ACPI_TABLE_LIB=y # CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_FPDT=y @@ -610,6 +608,8 @@ CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_ADXL=y CONFIG_ACPI_CONFIGFS=m +CONFIG_ACPI_PFRUT=m +CONFIG_ACPI_PCC=y CONFIG_PMIC_OPREGION=y CONFIG_BYTCRC_PMIC_OPREGION=y CONFIG_CHTCRC_PMIC_OPREGION=y @@ -645,6 +645,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=m +CONFIG_X86_AMD_PSTATE=m CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K8=m @@ -695,9 +696,11 @@ CONFIG_SYSVIPC_COMPAT=y # end of Binary Emulations CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_PFNCACHE=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y +CONFIG_HAVE_KVM_DIRTY_RING=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_MMIO=y CONFIG_KVM_ASYNC_PF=y @@ -817,6 +820,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_ISA_BUS_API=y @@ -841,9 +845,11 @@ CONFIG_HAVE_STATIC_CALL_INLINE=y CONFIG_HAVE_PREEMPT_DYNAMIC=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y CONFIG_ARCH_HAS_ELFCORE_COMPAT=y CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y CONFIG_DYNAMIC_SIGFRAME=y +CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y # # GCOV-based kernel profiling @@ -887,6 +893,7 @@ CONFIG_BLOCK=y CONFIG_BLK_RQ_ALLOC_TIME=y CONFIG_BLK_CGROUP_RWSTAT=y CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_ICQ=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=y @@ -1020,7 +1027,10 @@ CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_THP_SWAP=y -CONFIG_CLEANCACHE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set @@ -1067,6 +1077,7 @@ CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_SECRETMEM=y +CONFIG_ANON_VMA_NAME=y # # Data Access Monitoring @@ -1275,7 +1286,6 @@ CONFIG_NF_TABLES_NETDEV=y CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m -CONFIG_NFT_COUNTER=m CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m @@ -1475,7 +1485,6 @@ CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_DUP_IPV4=m CONFIG_NFT_FIB_IPV4=m CONFIG_NF_TABLES_ARP=y -CONFIG_NF_FLOW_TABLE_IPV4=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m @@ -1515,7 +1524,6 @@ CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_REJECT_IPV6=m CONFIG_NFT_DUP_IPV6=m CONFIG_NFT_FIB_IPV6=m -CONFIG_NF_FLOW_TABLE_IPV6=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m @@ -1937,6 +1945,7 @@ CONFIG_BT_INTEL=m CONFIG_BT_BCM=m CONFIG_BT_RTL=m CONFIG_BT_QCA=m +CONFIG_BT_MTK=m CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y CONFIG_BT_HCIBTUSB_BCM=y @@ -2019,6 +2028,7 @@ CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y CONFIG_RFKILL_GPIO=m CONFIG_NET_9P=m +CONFIG_NET_9P_FD=m CONFIG_NET_9P_VIRTIO=m CONFIG_NET_9P_XEN=m CONFIG_NET_9P_RDMA=m @@ -2203,6 +2213,7 @@ CONFIG_AUXILIARY_BUS=y # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEVTMPFS_SAFE=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -2323,6 +2334,7 @@ CONFIG_GNSS_SERIAL=m CONFIG_GNSS_MTK_SERIAL=m CONFIG_GNSS_SIRF_SERIAL=m CONFIG_GNSS_UBX_SERIAL=m +CONFIG_GNSS_USB=m CONFIG_MTD=m # CONFIG_MTD_TESTS is not set @@ -2507,7 +2519,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_RSXX=m CONFIG_BLK_DEV_RNBD=y CONFIG_BLK_DEV_RNBD_CLIENT=m CONFIG_BLK_DEV_RNBD_SERVER=m @@ -2515,8 +2526,8 @@ CONFIG_BLK_DEV_RNBD_SERVER=m # # NVME Support # -CONFIG_NVME_CORE=y -CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_CORE=m +CONFIG_BLK_DEV_NVME=m CONFIG_NVME_MULTIPATH=y CONFIG_NVME_HWMON=y CONFIG_NVME_FABRICS=m @@ -2805,7 +2816,6 @@ CONFIG_ATA_BMDMA=y CONFIG_ATA_PIIX=m CONFIG_SATA_DWC=m # CONFIG_SATA_DWC_OLD_DMA is not set -# CONFIG_SATA_DWC_DEBUG is not set CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_SATA_PROMISE=m @@ -3063,6 +3073,7 @@ CONFIG_NET_DSA_XRS700X=m CONFIG_NET_DSA_XRS700X_I2C=m CONFIG_NET_DSA_XRS700X_MDIO=m CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK=m CONFIG_NET_DSA_REALTEK_SMI=m CONFIG_NET_DSA_SMSC_LAN9303=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m @@ -3184,6 +3195,9 @@ CONFIG_BE2NET_BE2=y CONFIG_BE2NET_BE3=y CONFIG_BE2NET_LANCER=y CONFIG_BE2NET_SKYHAWK=y +CONFIG_NET_VENDOR_ENGLEDER=y +CONFIG_TSNEP=m +# CONFIG_TSNEP_SELFTESTS is not set CONFIG_NET_VENDOR_EZCHIP=y CONFIG_NET_VENDOR_FUJITSU=y CONFIG_PCMCIA_FMVJ18X=m @@ -3215,6 +3229,7 @@ CONFIG_IAVF=m CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_ICE_SWITCHDEV=y +CONFIG_ICE_HWTS=y CONFIG_FM10K=m CONFIG_IGC=m CONFIG_NET_VENDOR_MICROSOFT=y @@ -3386,6 +3401,8 @@ CONFIG_TEHUTI=m CONFIG_NET_VENDOR_TI=y # CONFIG_TI_CPSW_PHY_SEL is not set CONFIG_TLAN=m +CONFIG_NET_VENDOR_VERTEXCOM=y +CONFIG_MSE102X=m CONFIG_NET_VENDOR_VIA=y CONFIG_VIA_RHINE=m CONFIG_VIA_RHINE_MMIO=y @@ -3468,6 +3485,9 @@ CONFIG_MICREL_KS8995MA=m # # MCTP Device Drivers # +CONFIG_MCTP_SERIAL=m +# end of MCTP Device Drivers + CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m CONFIG_FWNODE_MDIO=m @@ -3705,6 +3725,7 @@ CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y # end of Debugging Options +CONFIG_IWLMEI=m CONFIG_WLAN_VENDOR_INTERSIL=y CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y @@ -3896,6 +3917,7 @@ CONFIG_IEEE802154_HWSIM=m # Wireless WAN # CONFIG_WWAN=y +CONFIG_WWAN_DEBUGFS=y CONFIG_WWAN_HWSIM=m CONFIG_MHI_WWAN_CTRL=m CONFIG_MHI_WWAN_MBIM=m @@ -4311,6 +4333,7 @@ CONFIG_SERIAL_8250_DW=m CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_LPSS=y CONFIG_SERIAL_8250_MID=y +CONFIG_SERIAL_8250_PERICOM=y # # Non-8250 serial port support @@ -4425,8 +4448,8 @@ CONFIG_XILLYBUS_CLASS=m CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m CONFIG_XILLYUSB=m -# CONFIG_RANDOM_TRUST_CPU is not set -# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_RANDOM_TRUST_CPU=y +CONFIG_RANDOM_TRUST_BOOTLOADER=y # end of Character devices # @@ -4629,6 +4652,12 @@ CONFIG_PINCTRL_MCP23S08_I2C=m CONFIG_PINCTRL_MCP23S08_SPI=m CONFIG_PINCTRL_MCP23S08=m CONFIG_PINCTRL_SX150X=y +CONFIG_PINCTRL_MADERA=m +CONFIG_PINCTRL_CS47L15=y +CONFIG_PINCTRL_CS47L35=y +CONFIG_PINCTRL_CS47L85=y +CONFIG_PINCTRL_CS47L90=y +CONFIG_PINCTRL_CS47L92=y # # Intel pinctrl drivers @@ -4658,12 +4687,6 @@ CONFIG_PINCTRL_TIGERLAKE=y # # end of Renesas pinctrl drivers -CONFIG_PINCTRL_MADERA=m -CONFIG_PINCTRL_CS47L15=y -CONFIG_PINCTRL_CS47L35=y -CONFIG_PINCTRL_CS47L85=y -CONFIG_PINCTRL_CS47L90=y -CONFIG_PINCTRL_CS47L92=y CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y @@ -4777,6 +4800,7 @@ CONFIG_GPIO_VIPERBOARD=m CONFIG_GPIO_AGGREGATOR=m CONFIG_GPIO_MOCKUP=m CONFIG_GPIO_VIRTIO=m +CONFIG_GPIO_SIM=m # end of Virtual GPIO drivers CONFIG_W1=m @@ -4873,6 +4897,7 @@ CONFIG_CHARGER_LT3651=m CONFIG_CHARGER_LTC4162L=m CONFIG_CHARGER_MAX14577=m CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX77976=m CONFIG_CHARGER_MAX8997=m CONFIG_CHARGER_MAX8998=m CONFIG_CHARGER_MP2629=m @@ -5023,6 +5048,7 @@ CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m CONFIG_SENSORS_NZXT_KRAKEN2=m +CONFIG_SENSORS_NZXT_SMART2=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m @@ -5030,6 +5056,7 @@ CONFIG_SENSORS_ADM1266=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_DELTA_AHE50DC_FAN=m CONFIG_SENSORS_FSP_3Y=m CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_DPS920AB=m @@ -5037,6 +5064,7 @@ CONFIG_SENSORS_INSPUR_IPSPS=m CONFIG_SENSORS_IR35221=m CONFIG_SENSORS_IR36021=m CONFIG_SENSORS_IR38064=m +CONFIG_SENSORS_IR38064_REGULATOR=y CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m CONFIG_SENSORS_LM25066=m @@ -5053,6 +5081,7 @@ CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_MP2888=m CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_MP5023=m CONFIG_SENSORS_PIM4328=m CONFIG_SENSORS_PM6764TR=m CONFIG_SENSORS_PXE1610=m @@ -5090,6 +5119,7 @@ CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA238=m CONFIG_SENSORS_INA3221=m CONFIG_SENSORS_TC74=m CONFIG_SENSORS_THMC50=m @@ -5124,6 +5154,8 @@ CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m # CONFIG_SENSORS_ACPI_POWER=m CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ASUS_WMI=m +CONFIG_SENSORS_ASUS_WMI_EC=m CONFIG_THERMAL=y CONFIG_THERMAL_NETLINK=y # CONFIG_THERMAL_STATISTICS is not set @@ -5246,6 +5278,7 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m CONFIG_INTEL_MEI_WDT=m CONFIG_NI903X_WDT=m CONFIG_NIC7018_WDT=m +CONFIG_SIEMENS_SIMATIC_IPC_WDT=m CONFIG_MEN_A21_WDT=m CONFIG_XEN_WDT=m @@ -5331,7 +5364,6 @@ CONFIG_MFD_INTEL_LPSS=m CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m CONFIG_MFD_INTEL_PMC_BXT=m -CONFIG_MFD_INTEL_PMT=m CONFIG_MFD_IQS62X=m CONFIG_MFD_JANZ_CMODIO=m CONFIG_MFD_KEMPLD=m @@ -5455,6 +5487,7 @@ CONFIG_REGULATOR_MAX8925=m CONFIG_REGULATOR_MAX8952=m CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MAX20086=m CONFIG_REGULATOR_MAX77693=m CONFIG_REGULATOR_MAX77826=m CONFIG_REGULATOR_MC13XXX_CORE=m @@ -5499,6 +5532,7 @@ CONFIG_REGULATOR_TPS6524X=m CONFIG_REGULATOR_TPS6586X=m CONFIG_REGULATOR_TPS65910=m CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TPS68470=m CONFIG_REGULATOR_TWL4030=m CONFIG_REGULATOR_WM831X=m CONFIG_REGULATOR_WM8350=m @@ -5997,6 +6031,7 @@ CONFIG_VIDEO_OV5648=m CONFIG_VIDEO_OV6650=m CONFIG_VIDEO_OV5670=m CONFIG_VIDEO_OV5675=m +CONFIG_VIDEO_OV5693=m CONFIG_VIDEO_OV5695=m CONFIG_VIDEO_OV7251=m CONFIG_VIDEO_OV772X=m @@ -6295,8 +6330,7 @@ CONFIG_DRM_DP_CEC=y CONFIG_DRM_TTM=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_GEM_CMA_HELPER=m CONFIG_DRM_GEM_SHMEM_HELPER=y CONFIG_DRM_SCHED=m @@ -6399,6 +6433,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m CONFIG_DRM_SIMPLEDRM=y CONFIG_TINYDRM_HX8357D=m +CONFIG_TINYDRM_ILI9163=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_ILI9486=m @@ -6413,6 +6448,8 @@ CONFIG_DRM_GUD=m CONFIG_DRM_HYPERV=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_NOMODESET=y +CONFIG_DRM_PRIVACY_SCREEN=y # # Frame buffer Devices @@ -6420,7 +6457,7 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y +# CONFIG_FIRMWARE_EDID is not set CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y @@ -6431,8 +6468,8 @@ CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set # # Frame buffer hardware drivers @@ -6699,6 +6736,9 @@ CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_SCODEC_CS35L41=m +CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m +CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_ANALOG=m CONFIG_SND_HDA_CODEC_SIGMATEL=m @@ -6778,6 +6818,7 @@ CONFIG_SND_SOC_AMD_ACP5x=m CONFIG_SND_SOC_AMD_VANGOGH_MACH=m CONFIG_SND_SOC_AMD_ACP6x=m CONFIG_SND_SOC_AMD_YC_MACH=m +CONFIG_SND_AMD_ACP_CONFIG=m CONFIG_SND_SOC_AMD_ACP_COMMON=m CONFIG_SND_SOC_AMD_ACP_I2S=m CONFIG_SND_SOC_AMD_ACP_PCM=m @@ -6876,6 +6917,7 @@ CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m +CONFIG_SND_SOC_INTEL_SOF_NAU8825_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m @@ -6890,6 +6932,9 @@ CONFIG_SND_SOC_SOF_ACPI_DEV=m # CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set CONFIG_SND_SOC_SOF=m CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y +CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m +CONFIG_SND_SOC_SOF_AMD_COMMON=m +CONFIG_SND_SOC_SOF_AMD_RENOIR=m CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m @@ -6952,6 +6997,7 @@ CONFIG_SND_SOC_ADAU7118_HW=m CONFIG_SND_SOC_ADAU7118_I2C=m CONFIG_SND_SOC_AK4104=m CONFIG_SND_SOC_AK4118=m +CONFIG_SND_SOC_AK4375=m CONFIG_SND_SOC_AK4458=m CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4613=m @@ -6967,6 +7013,8 @@ CONFIG_SND_SOC_CS35L33=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m +CONFIG_SND_SOC_CS35L41_LIB=m +CONFIG_SND_SOC_CS35L41=m CONFIG_SND_SOC_CS35L41_SPI=m CONFIG_SND_SOC_CS35L41_I2C=m CONFIG_SND_SOC_CS42L42=m @@ -7102,6 +7150,7 @@ CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TDA7419=m CONFIG_SND_SOC_TFA9879=m CONFIG_SND_SOC_TFA989X=m +CONFIG_SND_SOC_TLV320ADC3XXX=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23_SPI=m @@ -7240,6 +7289,7 @@ CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m CONFIG_HID_LED=m CONFIG_HID_LENOVO=m +CONFIG_HID_LETSKETCH=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_DJ=m CONFIG_HID_LOGITECH_HIDPP=m @@ -7402,6 +7452,7 @@ CONFIG_USB_R8A66597_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_XEN_HCD=m # # USB Device Class drivers @@ -7897,6 +7948,11 @@ CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m + +# +# Simple LED drivers +# +CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y @@ -8414,6 +8470,7 @@ CONFIG_PEAQ_WMI=m CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m CONFIG_XIAOMI_WMI=m CONFIG_GIGABYTE_WMI=m +CONFIG_YOGABOOK_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m @@ -8424,6 +8481,7 @@ CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_WIRELESS=m CONFIG_ASUS_WMI=m CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_TF103C_DOCK=m CONFIG_MERAKI_MX100=m CONFIG_EEEPC_LAPTOP=m CONFIG_EEEPC_WMI=m @@ -8494,6 +8552,7 @@ CONFIG_INTEL_RST=m CONFIG_INTEL_SMARTCONNECT=m CONFIG_INTEL_TURBO_MAX_3=y CONFIG_INTEL_UNCORE_FREQ_CONTROL=m +CONFIG_INTEL_VSEC=m CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m CONFIG_PCENGINES_APU2=m @@ -8515,6 +8574,7 @@ CONFIG_TOPSTAR_LAPTOP=m CONFIG_I2C_MULTI_INSTANTIATE=m CONFIG_MLX_PLATFORM=m CONFIG_TOUCHSCREEN_DMI=y +CONFIG_X86_ANDROID_TABLETS=m CONFIG_FW_ATTR_CLASS=m CONFIG_INTEL_IPS=m CONFIG_INTEL_SCU_IPC=y @@ -8522,6 +8582,7 @@ CONFIG_INTEL_SCU=y CONFIG_INTEL_SCU_PCI=y CONFIG_INTEL_SCU_PLATFORM=m CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_SIEMENS_SIMATIC_IPC=m CONFIG_PMC_ATOM=y CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m @@ -8575,6 +8636,7 @@ CONFIG_COMMON_CLK_SI5341=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_SI544=m CONFIG_COMMON_CLK_CDCE706=m +CONFIG_COMMON_CLK_TPS68470=m CONFIG_COMMON_CLK_CS2000_CP=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m @@ -8866,6 +8928,9 @@ CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m CONFIG_TI_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_ADS124S08=m CONFIG_TI_ADS131E08=m CONFIG_TI_AM335X_ADC=m CONFIG_TI_TLC4541=m @@ -8877,6 +8942,12 @@ CONFIG_XILINX_XADC=m # end of Analog to digital converters # +# Analog to digital and digital to analog converters +# +CONFIG_AD74413R=m +# end of Analog to digital and digital to analog converters + +# # Analog Front Ends # # end of Analog Front Ends @@ -8950,6 +9021,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m # # Digital to analog converters # +CONFIG_AD3552R=m CONFIG_AD5064=m CONFIG_AD5360=m CONFIG_AD5380=m @@ -8971,6 +9043,7 @@ CONFIG_AD5764=m CONFIG_AD5766=m CONFIG_AD5770R=m CONFIG_AD5791=m +CONFIG_AD7293=m CONFIG_AD7303=m CONFIG_AD8801=m CONFIG_DS4424=m @@ -8978,6 +9051,7 @@ CONFIG_LTC1660=m CONFIG_LTC2632=m CONFIG_M62332=m CONFIG_MAX517=m +CONFIG_MAX5821=m CONFIG_MCP4725=m CONFIG_MCP4922=m CONFIG_TI_DAC082S085=m @@ -8993,6 +9067,12 @@ CONFIG_TI_DAC7612=m # end of IIO dummy driver # +# Filters +# +CONFIG_ADMV8818=m +# end of Filters + +# # Frequency Synthesizers DDS/PLL # @@ -9007,6 +9087,7 @@ CONFIG_AD9523=m # CONFIG_ADF4350=m CONFIG_ADF4371=m +CONFIG_ADMV1013=m CONFIG_ADRF6780=m # end of Phase-Locked Loop (PLL) frequency synthesizers # end of Frequency Synthesizers DDS/PLL @@ -9406,14 +9487,12 @@ CONFIG_BTT=y CONFIG_ND_PFN=m CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y -CONFIG_DAX_DRIVER=y CONFIG_DAX=y CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m CONFIG_DEV_DAX_HMEM=m CONFIG_DEV_DAX_HMEM_DEVICES=y CONFIG_DEV_DAX_KMEM=m -CONFIG_DEV_DAX_PMEM_COMPAT=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y CONFIG_RAVE_SP_EEPROM=m @@ -9606,6 +9685,7 @@ CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_DEBUG is not set CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_ERROR_INJECTION is not set # end of Caches # @@ -10163,6 +10243,7 @@ CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_KDF800108_CTR=y CONFIG_CRYPTO_USER_API=m CONFIG_CRYPTO_USER_API_HASH=m CONFIG_CRYPTO_USER_API_SKCIPHER=m @@ -10172,29 +10253,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m # CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set CONFIG_CRYPTO_STATS=y CONFIG_CRYPTO_HASH_INFO=y - -# -# Crypto library routines -# -CONFIG_CRYPTO_LIB_AES=y -CONFIG_CRYPTO_LIB_ARC4=m -CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m -CONFIG_CRYPTO_LIB_BLAKE2S=m -CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m -CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m -CONFIG_CRYPTO_LIB_CHACHA=m -CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m -CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m -CONFIG_CRYPTO_LIB_CURVE25519=m -CONFIG_CRYPTO_LIB_DES=m -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 -CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m -CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m -CONFIG_CRYPTO_LIB_POLY1305=m -CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m -CONFIG_CRYPTO_LIB_SHA256=y -CONFIG_CRYPTO_LIB_SM4=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m @@ -10262,7 +10320,6 @@ CONFIG_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_CORDIC=m # CONFIG_PRIME_NUMBERS is not set CONFIG_RATIONAL=y @@ -10271,6 +10328,30 @@ CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y + +# +# Crypto library routines +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_SM4=m +# end of Crypto library routines + CONFIG_CRC_CCITT=y CONFIG_CRC16=m CONFIG_CRC_T10DIF=y @@ -10466,11 +10547,19 @@ CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_MISC is not set # +# Networking Debugging +# +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +# CONFIG_NET_NS_REFCNT_TRACKER is not set +# end of Networking Debugging + +# # Memory Debugging # # CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_TABLE_CHECK is not set CONFIG_PAGE_POISONING=y # CONFIG_DEBUG_PAGE_REF is not set CONFIG_DEBUG_RODATA_TEST=y @@ -10607,6 +10696,8 @@ CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y CONFIG_HAVE_OBJTOOL_MCOUNT=y CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y +CONFIG_BUILDTIME_MCOUNT_SORT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y @@ -10656,6 +10747,7 @@ CONFIG_HIST_TRIGGERS=y # CONFIG_TRACE_EVAL_MAP_FILE is not set # CONFIG_FTRACE_RECORD_RECURSION is not set # CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_FTRACE_SORT_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set # CONFIG_MMIOTRACE_TEST is not set @@ -10713,6 +10805,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_DIV64 is not set # CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_TEST_REF_TRACKER is not set # CONFIG_RBTREE_TEST is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -10731,7 +10824,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_XARRAY is not set # CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set +# CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_IDA is not set # CONFIG_TEST_PARMAN is not set # CONFIG_TEST_LKM is not set |