summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2022-05-14 20:24:12 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2022-05-14 20:24:12 -0700
commit5aa3bb406b0c4c9b081ce586e394ba13a63c5da4 (patch)
tree1cf9243023a2fba4a632bc6ea4a394b01340efb4
parentUpdated to 5.16.20 (diff)
downloadlinux-5aa3bb406b0c4c9b081ce586e394ba13a63c5da4.tar.xz
Updated to 5.17.7
-rw-r--r--0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch28
-rw-r--r--0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch62
-rw-r--r--0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch94
-rw-r--r--0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch56
-rw-r--r--0003-tick-Detect-and-fix-jiffies-update-stall.patch86
-rw-r--r--0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch231
-rw-r--r--0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch101
-rw-r--r--0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch29
-rw-r--r--0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch119
-rw-r--r--0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch55
-rw-r--r--0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch45
-rw-r--r--0007-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.patch81
-rw-r--r--0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch236
-rw-r--r--PKGBUILD76
-rw-r--r--config250
-rw-r--r--raid6-default-algo.patch8
16 files changed, 766 insertions, 791 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 40d4241..f74d97d 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,4 +1,4 @@
-From e640cb2990858fa20aba91e73ed4fc48c94ec201 Mon Sep 17 00:00:00 2001
+From af1be991f71b28e22fd079554c4f88e1911836a7 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
@@ -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 e9119bf54b1f..a1a5a68aea07 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1226,6 +1226,22 @@ config USER_NS
+@@ -1231,6 +1231,22 @@ config USER_NS
If unsure, say N.
@@ -63,7 +63,7 @@ index 11f8a845f259..02b7a0e455a5 100644
bool "PID Namespaces"
default y
diff --git a/kernel/fork.c b/kernel/fork.c
-index 10885c649ca4..e0fe98e1afbd 100644
+index f1e89007f228..49144b49a3d1 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -98,6 +98,10 @@
@@ -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(
+@@ -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 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)
+@@ -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 10885c649ca4..e0fe98e1afbd 100644
if (err)
goto bad_unshare_out;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 083be6af29d7..42aa3c7835b9 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 083be6af29d7..42aa3c7835b9 100644
#if defined(CONFIG_SYSCTL)
-@@ -1949,6 +1952,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",
@@ -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 @@
@@ -150,5 +150,5 @@ index 6b2e3ca7ee99..0253002184f1 100644
static DEFINE_MUTEX(userns_state_mutex);
--
-2.33.1
+2.35.1
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 7b891a9..0000000
--- a/0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 44e76e54009b9033fe9c98b9a6c32ce9c1cef59b 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 0000000..1d8d719
--- /dev/null
+++ b/0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch
@@ -0,0 +1,94 @@
+From 448472bd240fb5a6c164cc60fd975f13785bfb08 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/8] 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.1
+
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 57a23cc..0000000
--- a/0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From f1ee8c1a0c5c57f5fa606c74e80d20514aa1b93d 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 0000000..c561dd1
--- /dev/null
+++ b/0003-tick-Detect-and-fix-jiffies-update-stall.patch
@@ -0,0 +1,86 @@
+From 928032927d445c27a84a5698d14bcfc0d5d27af9 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/8] 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 5e80ee44c32a..0578c9301b17 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.1
+
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 20e2674..0000000
--- a/0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From a5ab2842cf12aad4c7691c100b38917f9f3b6770 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 0000000..ea7e3fd
--- /dev/null
+++ b/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
@@ -0,0 +1,101 @@
+From 2085cf328b0c587bcfee52b1cb56a6b27c3249e3 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/8] 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 0578c9301b17..4c62fa0f70f1 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.1
+
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 c818224..0000000
--- a/0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f5d699ec84aff0f1f705c8a1ac4a5710054d1eff 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 0000000..cf018ae
--- /dev/null
+++ b/0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch
@@ -0,0 +1,119 @@
+From 3decaa4b2af3d7365aa32411c6351626825ce397 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/8] 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 4c62fa0f70f1..3506f6ed790c 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.1
+
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 0000000..b1eaa84
--- /dev/null
+++ b/0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch
@@ -0,0 +1,55 @@
+From dfa7dabce4f075d5883f2b95ef925b6edc10ca29 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/8] 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.1
+
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 eeffb6e..0000000
--- a/0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 180567f393d36b2f7367b044bfc409e984bb9e5a 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-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.patch b/0007-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.patch
new file mode 100644
index 0000000..a7c7e24
--- /dev/null
+++ b/0007-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.patch
@@ -0,0 +1,81 @@
+From 70cd65db4081b480c5978d5bb60d681e784472b2 Mon Sep 17 00:00:00 2001
+From: Olga Kornievskaia <kolga@netapp.com>
+Date: Wed, 16 Mar 2022 18:24:26 -0400
+Subject: [PATCH 7/8] NFSv4.1 provide mount option to toggle trunking discovery
+
+Introduce a new mount option -- trunkdiscovery,notrunkdiscovery -- to
+toggle whether or not the client will engage in actively discovery
+of trunking locations.
+
+v2 make notrunkdiscovery default
+
+Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
+Cherry-picked-for: https://bugs.archlinux.org/task/74272
+---
+ fs/nfs/client.c | 3 ++-
+ fs/nfs/fs_context.c | 8 ++++++++
+ include/linux/nfs_fs_sb.h | 1 +
+ 3 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/fs/nfs/client.c b/fs/nfs/client.c
+index d1f34229e11a..e828504cc396 100644
+--- a/fs/nfs/client.c
++++ b/fs/nfs/client.c
+@@ -857,7 +857,8 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str
+ }
+
+ if (clp->rpc_ops->discover_trunking != NULL &&
+- (server->caps & NFS_CAP_FS_LOCATIONS)) {
++ (server->caps & NFS_CAP_FS_LOCATIONS &&
++ (server->flags & NFS_MOUNT_TRUNK_DISCOVERY))) {
+ error = clp->rpc_ops->discover_trunking(server, mntfh);
+ if (error < 0)
+ return error;
+diff --git a/fs/nfs/fs_context.c b/fs/nfs/fs_context.c
+index ea17fa1f31ec..e2d59bb5e6bb 100644
+--- a/fs/nfs/fs_context.c
++++ b/fs/nfs/fs_context.c
+@@ -80,6 +80,7 @@ enum nfs_param {
+ Opt_source,
+ Opt_tcp,
+ Opt_timeo,
++ Opt_trunkdiscovery,
+ Opt_udp,
+ Opt_v,
+ Opt_vers,
+@@ -180,6 +181,7 @@ static const struct fs_parameter_spec nfs_fs_parameters[] = {
+ fsparam_string("source", Opt_source),
+ fsparam_flag ("tcp", Opt_tcp),
+ fsparam_u32 ("timeo", Opt_timeo),
++ fsparam_flag_no("trunkdiscovery", Opt_trunkdiscovery),
+ fsparam_flag ("udp", Opt_udp),
+ fsparam_flag ("v2", Opt_v),
+ fsparam_flag ("v3", Opt_v),
+@@ -529,6 +531,12 @@ static int nfs_fs_context_parse_param(struct fs_context *fc,
+ else
+ ctx->flags &= ~NFS_MOUNT_NOCTO;
+ break;
++ case Opt_trunkdiscovery:
++ if (result.negated)
++ ctx->flags &= ~NFS_MOUNT_TRUNK_DISCOVERY;
++ else
++ ctx->flags |= NFS_MOUNT_TRUNK_DISCOVERY;
++ break;
+ case Opt_ac:
+ if (result.negated)
+ ctx->flags |= NFS_MOUNT_NOAC;
+diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
+index ca0959e51e81..b0e3fd550122 100644
+--- a/include/linux/nfs_fs_sb.h
++++ b/include/linux/nfs_fs_sb.h
+@@ -151,6 +151,7 @@ struct nfs_server {
+ #define NFS_MOUNT_SOFTREVAL 0x800000
+ #define NFS_MOUNT_WRITE_EAGER 0x01000000
+ #define NFS_MOUNT_WRITE_WAIT 0x02000000
++#define NFS_MOUNT_TRUNK_DISCOVERY 0x04000000
+
+ unsigned int fattr_valid; /* Valid attributes */
+ unsigned int caps; /* server capabilities */
+--
+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 6c7ed61..0000000
--- a/0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-From 70ec06b389f1b35a0fae51ca1698034c00f994df 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
-
diff --git a/PKGBUILD b/PKGBUILD
index 588963b..aa7dc51 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,6 +10,7 @@
# Arch version does not disable lockdown eee
# Arch version does not disable HDCP
# Arch version does not disable IME/PSP and SGX/SEV and TXT/TEE and PXP
+# Arch version does not disable /dev/random being directly filled by rdrand
# Arch version uses git
# set _custom to 0 when using mkchrootpkg
@@ -17,10 +18,10 @@ _custom=0
pkgbase=linux
_supver=5
-_majver=16
-_minver=20
+_majver=17
+_minver=7
_gccpatchver='20220315'
-_gccpatchker='5.15-5.16'
+_gccpatchker='5.17+'
if [ "$_minver" == "0" ]; then
pkgver=${_supver}.${_majver}
else
@@ -33,7 +34,7 @@ arch=(x86_64)
license=(GPL2)
makedepends=(
bc kmod libelf pahole cpio perl tar xz
- xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick
+ xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
)
conflicts=('linux-libre')
options=('!strip')
@@ -42,12 +43,12 @@ 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-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
+ 0007-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.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,32 +58,32 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('d8060dc88f862baaae66b42a2dbc12298ed667c698eb5c55617a7786ee47bf25'
+sha256sums=('22f67ef6b12ef6c0c0353be4b90b4bf4b9b18b858c16c346fa495b67ec718c99'
'SKIP'
- '335cc2e5a617cf4dbd9973bd512cedeaa491718366395f97f3bd764e59a74cf8'
- '0ea6013565896bf9c77a3edb89d88ab1f6751c65545e1a0b28e2a895ae7a291d'
- 'f101077e6b6196eefc187218c0c11308c87bdf779fd6fcf7e42111aa4d348ce7'
- '558e1e3426db12ac3ae6b9afdc361fe415d235e306e08e587b91a74b371c1002'
- 'c8801d00c7f179730169b1065581cce89a3c9ddd553c4a813f039582e1bbe6be'
- '9a291b74a838a26b737e52415e4fb4fa27a69a252f94971208375cd02712f42f'
- 'a918ccc4b339720679ca262fa08fbd1ad3f5a2c071cb06250e8ea8ed7d52acaa'
- '0953dcf941e3b979ab35551e670598dbfde098503e97925738bcb730892b90de'
+ 'c603b522eaf21f9a4e937645798bec4d6939eb5149b55fd487b87ca41454e108'
+ 'f1a5d1b1830c630313e3283c6dcc870be0f4f23cbdfe514c435dfdbc705b615e'
+ '6ab72cc873bb00b8719435b370a2f4af6d9d22c83e59e84595021f39780b73f3'
+ '10d85461ff413b7df600c9a4715e84fe7aa0515dfbc1e1dcecf43c3a642405c8'
+ '4d539c730b90be03cf1ee2cdfcec9801b3ffcff571b3bf8f5d7f711bc6c6026e'
+ '4a52a207f7183f4a2f59457896fff09bd2ec4e3be9207ecd281a98926dbcb455'
+ '132393d3dfc185d3bb1d5c9b92e77222cec73c0314aa8f09da186a6622aa2d6d'
+ '24790cf2e78dbed5cef3c8be275b4c564573b8f22a1b05014d29c0b1cf3f37eb'
'5a29d172d442a3f31a402d7d306aaa292b0b5ea29139d05080a55e2425f48c5c'
'e9e0d289170b7fb598b572d9c892ae8d1420952034aa415e8b3334f20a58edcc'
- '0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb')
-b2sums=('798baf7051b3f20d34741067769c6a59a04ba922468789e61ce5a6c4d0c3d336a0f3bacc9f482827722e7577828140772e5cbd76b844cc836d4d6b26e0c154ec'
+ '6ab863c8cfe6e0dd53a9d6455872fd4391508a8b97ab92e3f13558a6617b12a6')
+b2sums=('1c1b1f59404becef201c28d6677a2a52a828a51903d0fe5b38a931fa25694d766eeb222b02f674d95ea8c67c29e0f3420b88f94bdccfc2f9bd575c2605e8f229'
'SKIP'
- '1051ee98791aee9b9ea1ca5c5de35ce4863a2b10ba5af0b55b444e53abb010a9bd1ee0414598d0c6cdd55e4b258d8c63edc019abafe500bba92b5dddebdb055b'
- 'f1e7205c4033abe680c5ddc9542a677f27b725f2d8b9b84133d877b1d60d5c373ed2873445202bdd7e15b6f56c96ffa2427fc1e36b485c25ae69907f486c4603'
- '1a2f35736e6066f20ee299cf1cc2efa9c76a9ebf3c17f0bc23b2852fe5618a82f87397187e3e0aa0b09ca9bea35ec0db8fbf28a6f6194d73a573a522ed4ce10d'
- '2a40fbad8386519b35397269cfb3a8f7dca3e7742e31f79553a129b3de478c89ea09684ea70cbbced3e157bd5df921e6712195e477e12467e729759232a4ebcc'
- '29bbe0deb754d03160690533229498f943cc542ef002035640950fa51d778c9188817f63d888fd07b45c6e24b4eec867fff3d8f81d1e3d766f240494ac88d3dd'
- '5272cfe0453d9ac59d3a5b092af66621f558b0137c3710b20a95c14ac58a7e260de906c3b265b427026fd1ed6e2bfdb54729883dbe183551b7e7243059945098'
- '2b9711e2085ed8b5d9fa440a751a7e31ec097383aeded739dbd8985c799b8a62e1e562f8af96692e33970fd2e463b87483af50a00adb1b98085210d080871fcf'
- '9a3f8a69dbd27d5e97c187362c6c8bfc9c4b8a7b60cca8d710ff93a0996e3e0d3dffe2e698a3bf430b57a9c83dc05ed4dedbd7b4fde440c1ab0eccfadf2ba16a'
+ 'f9b876591ae41bf7d92f610d8b9a29bd6ec53b2a3b88aa1bb5e51df9debc244b9a98c4c9b917e463be517c8e10675a46866604e19b3dbc415b779cf7428b3415'
+ '086702550147990472eb990fa8d5aac0f1e89ec592d66f12ba146a7b8a78438835a247d13986252f2b1356727e48075276729bc33787a10d451b7afae2dc0d3c'
+ 'fc2484c417e237d531833158deca0a82e40cc660122bd19d1dd326719d5e216390074de502fd01d2d26913978bb8175188de59ceb76b62c19eb7079ea8c898b0'
+ 'dd32268ebe42108f487e1aff7d762d60fa192d4b5827a1f55c6d7bc0fa5020981e5fc76a979296e1c11caf077b4203fb0892c0e383079f646dbba4b3a4604fe1'
+ 'f0b96a0c38519b6a761a67fde8174f884a493722198b82c5b8fb7627fec86cc5438191b4a267f24315bc29515942d6b138a70ae5eedf5e705486f89892ec6b57'
+ 'e2757b7dd92835a987e83aa3d94091d977d5d8d58cb666ef0439d91f22a8b8de8cd8d48bbfa07ed91c01300781e8808e2c2a8a962977d53e927c2c7b381595ee'
+ 'e9e3fa451a9c8a65a4fb0d42ae463b08f1092e3d8e11b0449291fe7a355dd75ee474e0eccc9538ccddbd173cdcba4afec5dfad2f3aa4c7f8babe093171f3beb8'
+ '514580d351d616b0ca8d134e501c8920ad753a028cf986e525f993460ce593e7f7ec53e4c52f39ed2a0b19e0df8409ebd289cdfb91afcf95dd77c04197351e17'
'20674a8fcc0a85726e06460a7dbccfe731c46bf377cc3bf511b7591175e7df892f271bc1909e77d9a02913c753d241493502c5ab15d9f78e95f31aa4399c2c27'
'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a'
- 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a')
+ 'e94aa35d92cec92f4b0d487e0569790f3b712b9eaa5107f14a4200578e398ca740bf369f30f070c8beb56a72d1a6d0fc06beb650d798a64f44abe5e3af327728')
export KBUILD_BUILD_HOST=arc4linux
export KBUILD_BUILD_USER=$pkgbase
@@ -102,12 +103,12 @@ prepare() {
# Hotfixes
echo "Applying hotfixes"
patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
- patch -p1 -i ../0002-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
- patch -p1 -i ../0003-Bluetooth-Read-codec-capabilities-only-if-supported.patch
- patch -p1 -i ../0004-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch
- patch -p1 -i ../0005-mt76-mt7921-add-support-for-PCIe-ID-0x0608-0x0616.patch
- patch -p1 -i ../0006-mt76-mt7921-reduce-log-severity-levels-for-informati.patch
- patch -p1 -i ../0007-Revert-NFSv4.1-query-for-fs_location-attr-on-a-new-f.patch
+ patch -p1 -i ../0002-random-treat-bootloader-trust-toggle-the-same-way-as.patch
+ patch -p1 -i ../0003-tick-Detect-and-fix-jiffies-update-stall.patch
+ patch -p1 -i ../0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
+ patch -p1 -i ../0005-tick-rcu-Stop-allowing-RCU_SOFTIRQ-in-idle.patch
+ patch -p1 -i ../0006-lib-irq_poll-Declare-IRQ_POLL-softirq-vector-as-ksof.patch
+ patch -p1 -i ../0007-NFSv4.1-provide-mount-option-to-toggle-trunking-disc.patch
# graysky gcc patch
@@ -210,7 +211,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
+ 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}
diff --git a/config b/config
index 84d352b..a974632 100644
--- a/config
+++ b/config
@@ -1,10 +1,10 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.16.17 Kernel Configuration
+# Linux/x86 5.17.7 Kernel Configuration
#
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.1.0"
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=110200
+CONFIG_GCC_VERSION=120100
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23800
@@ -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
@@ -288,6 +287,7 @@ CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
# CONFIG_PC104 is not set
#
@@ -332,15 +332,12 @@ 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
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_AUDIT_ARCH=y
-# CONFIG_HAVE_INTEL_TXT is not set
+CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
@@ -357,6 +354,8 @@ CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
CONFIG_RETPOLINE=y
+CONFIG_CC_HAS_SLS=y
+CONFIG_SLS=y
CONFIG_X86_CPU_RESCTRL=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
@@ -493,6 +492,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
@@ -522,7 +522,7 @@ CONFIG_X86_UMIP=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
-CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
+CONFIG_X86_INTEL_TSX_MODE_AUTO=y
# CONFIG_X86_SGX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
@@ -563,7 +563,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
@@ -598,6 +597,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
@@ -653,6 +653,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
@@ -688,6 +690,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
@@ -740,9 +743,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
@@ -862,6 +867,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
@@ -880,11 +886,13 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_LOCK_EVENT_COUNTS=y
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
+CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
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
@@ -898,7 +906,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
# end of General architecture-dependent options
@@ -933,6 +940,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
@@ -1066,7 +1074,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
@@ -1114,6 +1125,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
@@ -1322,7 +1334,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
@@ -1522,7 +1533,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
@@ -1562,7 +1572,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
@@ -1984,6 +1993,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
@@ -2067,6 +2077,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
@@ -2253,6 +2264,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
@@ -2324,7 +2336,7 @@ CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_CS_DSP=m
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
@@ -2373,6 +2385,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
@@ -2527,6 +2540,7 @@ CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_FD_RAWCMD is not set
CONFIG_CDROM=m
# CONFIG_PARIDE is not set
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
@@ -2557,7 +2571,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
@@ -2565,8 +2578,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
@@ -2644,6 +2657,7 @@ CONFIG_ALTERA_STAPL=m
# CONFIG_INTEL_MEI_ME is not set
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_INTEL_MEI_HDCP is not set
+# CONFIG_INTEL_MEI_PXP is not set
CONFIG_VMWARE_VMCI=m
CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
@@ -2854,7 +2868,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
@@ -3113,7 +3126,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_SMI=m
+CONFIG_NET_DSA_REALTEK=m
CONFIG_NET_DSA_SMSC_LAN9303=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
@@ -3160,6 +3173,7 @@ CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
+CONFIG_CX_ECAT=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
@@ -3178,8 +3192,6 @@ CONFIG_BNXT_SRIOV=y
CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT_DCB=y
CONFIG_BNXT_HWMON=y
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
CONFIG_NET_VENDOR_CADENCE=y
CONFIG_MACB=m
CONFIG_MACB_USE_HWSTAMP=y
@@ -3207,7 +3219,6 @@ CONFIG_CHELSIO_TLS_DEVICE=m
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_NET_VENDOR_CORTINA=y
-CONFIG_CX_ECAT=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
@@ -3234,6 +3245,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
@@ -3268,8 +3282,6 @@ CONFIG_ICE_SWITCHDEV=y
CONFIG_ICE_HWTS=y
CONFIG_FM10K=m
CONFIG_IGC=m
-CONFIG_NET_VENDOR_MICROSOFT=y
-CONFIG_MICROSOFT_MANA=m
CONFIG_JME=m
CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3331,10 +3343,14 @@ CONFIG_ENCX24J600=m
CONFIG_LAN743X=m
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH_LIB=m
+CONFIG_NET_VENDOR_MICROSOFT=y
+CONFIG_MICROSOFT_MANA=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NI=y
+CONFIG_NI_XGE_MANAGEMENT_ENET=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
@@ -3347,8 +3363,6 @@ CONFIG_NFP=m
CONFIG_NFP_APP_FLOWER=y
CONFIG_NFP_APP_ABM_NIC=y
# CONFIG_NFP_DEBUG is not set
-CONFIG_NET_VENDOR_NI=y
-CONFIG_NI_XGE_MANAGEMENT_ENET=m
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=m
CONFIG_NE2K_PCI=m
@@ -3377,6 +3391,8 @@ CONFIG_QED_RDMA=y
CONFIG_QED_ISCSI=y
CONFIG_QED_FCOE=y
CONFIG_QED_OOO=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_QCOM_EMAC=m
CONFIG_RMNET=m
@@ -3397,6 +3413,11 @@ CONFIG_ROCKER=m
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=m
CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_SFC=m
CONFIG_SFC_MTD=y
@@ -3405,11 +3426,6 @@ CONFIG_SFC_SRIOV=y
CONFIG_SFC_MCDI_LOGGING=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
@@ -3437,6 +3453,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
@@ -3519,6 +3537,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
@@ -3748,7 +3769,6 @@ CONFIG_IWLWIFI_LEDS=y
CONFIG_IWLDVM=m
CONFIG_IWLMVM=m
CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
#
# Debugging Options
@@ -3758,6 +3778,7 @@ CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
# end of Debugging Options
+# CONFIG_IWLMEI is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
@@ -3949,6 +3970,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
@@ -4364,6 +4386,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
@@ -4723,6 +4746,7 @@ CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_GENERIC=m
@@ -4831,6 +4855,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
@@ -4927,6 +4952,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
@@ -5038,6 +5064,7 @@ CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
CONFIG_SENSORS_MAX31722=m
CONFIG_SENSORS_MAX31730=m
+# CONFIG_SENSORS_MAX6620 is not set
CONFIG_SENSORS_MAX6621=m
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
@@ -5076,6 +5103,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
@@ -5083,6 +5111,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
@@ -5090,6 +5119,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
@@ -5106,6 +5136,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
@@ -5143,6 +5174,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
@@ -5177,6 +5209,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
@@ -5296,8 +5330,10 @@ CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m
+# CONFIG_INTEL_MEI_WDT is not set
CONFIG_NI903X_WDT=m
CONFIG_NIC7018_WDT=m
+CONFIG_SIEMENS_SIMATIC_IPC_WDT=m
CONFIG_MEN_A21_WDT=m
CONFIG_XEN_WDT=m
@@ -5383,7 +5419,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
@@ -5432,7 +5467,6 @@ CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912=m
CONFIG_MFD_TPS65912_I2C=m
CONFIG_MFD_TPS65912_SPI=m
-CONFIG_MFD_TPS80031=y
CONFIG_TWL4030_CORE=y
CONFIG_MFD_TWL4030_AUDIO=y
CONFIG_TWL6040_CORE=y
@@ -5508,6 +5542,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
@@ -5552,7 +5587,7 @@ CONFIG_REGULATOR_TPS6524X=m
CONFIG_REGULATOR_TPS6586X=m
CONFIG_REGULATOR_TPS65910=m
CONFIG_REGULATOR_TPS65912=m
-CONFIG_REGULATOR_TPS80031=m
+CONFIG_REGULATOR_TPS68470=m
CONFIG_REGULATOR_TWL4030=m
CONFIG_REGULATOR_WM831X=m
CONFIG_REGULATOR_WM8350=m
@@ -6418,6 +6453,7 @@ CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
@@ -6426,8 +6462,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
@@ -6551,6 +6586,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
@@ -6565,6 +6601,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
@@ -6572,7 +6610,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
@@ -6583,8 +6621,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
@@ -6852,6 +6890,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
@@ -7046,6 +7087,9 @@ CONFIG_SND_SOC_SOF_ACPI_DEV=m
# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT 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
@@ -7108,6 +7152,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
@@ -7399,6 +7444,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
@@ -7569,6 +7615,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
@@ -8064,6 +8111,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
@@ -8581,6 +8633,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
@@ -8591,6 +8644,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
@@ -8661,6 +8715,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
@@ -8682,6 +8737,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
@@ -8689,6 +8745,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
@@ -8742,6 +8799,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
@@ -9033,6 +9091,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
@@ -9044,6 +9105,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
@@ -9139,6 +9206,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
@@ -9162,6 +9230,12 @@ CONFIG_TI_DAC7612=m
# end of IIO dummy driver
#
+# Filters
+#
+CONFIG_ADMV8818=m
+# end of Filters
+
+#
# Frequency Synthesizers DDS/PLL
#
@@ -9176,6 +9250,8 @@ 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
@@ -9471,6 +9547,7 @@ CONFIG_TMP117=m
CONFIG_TSYS01=m
CONFIG_TSYS02D=m
CONFIG_MAX31856=m
+# CONFIG_MAX31865 is not set
# end of Temperature sensors
CONFIG_NTB=m
@@ -9573,14 +9650,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
@@ -9625,6 +9700,13 @@ CONFIG_FPGA_DFL_AFU=m
CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m
CONFIG_FPGA_DFL_PCI=m
# CONFIG_TEE is not set
+
+#
+# TEE drivers
+#
+# CONFIG_AMDTEE is not set
+# end of TEE drivers
+
CONFIG_MULTIPLEXER=m
#
@@ -9766,6 +9848,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
#
@@ -10121,16 +10204,15 @@ CONFIG_LSM="landlock,yama,bpf"
#
# Kernel hardening options
#
-CONFIG_GCC_PLUGIN_STRUCTLEAK=y
#
# Memory initialization
#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
# CONFIG_INIT_STACK_NONE is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
-CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+CONFIG_INIT_STACK_ALL_ZERO=y
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
@@ -10161,7 +10243,7 @@ CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
@@ -10314,12 +10396,13 @@ CONFIG_CRYPTO_ZSTD=y
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG=m
+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
@@ -10329,29 +10412,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
@@ -10421,7 +10481,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
@@ -10430,6 +10489,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
@@ -10618,11 +10701,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
@@ -10656,6 +10747,7 @@ CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
+# CONFIG_KFENCE_STATIC_KEYS is not set
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
# end of Memory Debugging
@@ -10759,6 +10851,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
@@ -10808,6 +10902,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
@@ -10866,6 +10961,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
@@ -10884,7 +10980,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
diff --git a/raid6-default-algo.patch b/raid6-default-algo.patch
index 98bfd54..77e13f4 100644
--- a/raid6-default-algo.patch
+++ b/raid6-default-algo.patch
@@ -41,7 +41,7 @@ index d3b16f43c39f..480cbfbe293f 100644
struct raid6_calls raid6_call;
EXPORT_SYMBOL_GPL(raid6_call);
-@@ -157,6 +163,26 @@ static inline const struct raid6_calls *raid6_choose_gen(
+@@ -157,6 +163,26 @@ int start = (disks>>1)-1, stop = disks-3; /* work on the second half of the disks */
const struct raid6_calls *const *algo;
const struct raid6_calls *best;
@@ -65,6 +65,6 @@ index d3b16f43c39f..480cbfbe293f 100644
+ }
+#endif
+
- for (bestgenperf = 0, bestxorperf = 0, best = NULL, algo = raid6_algos; *algo; algo++) {
- if (!best || (*algo)->prefer >= best->prefer) {
- /* 2 ^ (RAID6_TIME_JIFFIES_LG2 - 0.5) */
+ for (bestgenperf = 0, best = NULL, algo = raid6_algos; *algo; algo++) {
+ if (!best || (*algo)->priority >= best->priority) {
+ if ((*algo)->valid && !(*algo)->valid())