diff options
author | Vignesh Raghavendra <vigneshr@ti.com> | 2023-02-19 22:54:26 +0530 |
---|---|---|
committer | Vignesh Raghavendra <vigneshr@ti.com> | 2023-02-19 22:54:26 +0530 |
commit | b7d17caaf466f5d94253a20f5c92588f2eaef6a5 (patch) | |
tree | 9747e304b21e6f789134824facb57c4d92893b06 /lib | |
parent | bf9eae98488c3bd7917a9a688bb82efba8e40369 (diff) | |
parent | 707c48210a5384a72c82655a37895b7e822755f2 (diff) |
Merge tag 'v5.10.168' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux into ti-linux-5.10.y-cicd
This is the 5.10.168 stable release
* tag 'v5.10.168' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux: (286 commits)
Linux 5.10.168
Fix page corruption caused by racy check in __free_pages
arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
ceph: flush cap releases when the session is flushed
usb: typec: altmodes/displayport: Fix probe pin assign check
usb: core: add quirk for Alcor Link AK9563 smartcard reader
btrfs: free device in btrfs_close_devices for a single device filesystem
net: USB: Fix wrong-direction WARNING in plusb.c
cifs: Fix use-after-free in rdata->read_into_pages()
pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
spi: dw: Fix wrong FIFO level setting for long xfers
pinctrl: single: fix potential NULL dereference
pinctrl: aspeed: Fix confusing types in return value
ALSA: pci: lx6464es: fix a debug loop
selftests: forwarding: lib: quote the sysctl values
rds: rds_rm_zerocopy_callback() use list_first_entry()
net/mlx5: fw_tracer, Zero consumer index when reloading the tracer
...
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/lockref.c | 1 | ||||
-rw-r--r-- | lib/nlattr.c | 3 | ||||
-rw-r--r-- | lib/ubsan.c | 11 |
3 files changed, 4 insertions, 11 deletions
diff --git a/lib/lockref.c b/lib/lockref.c index 5b34bbd3eba8..81ac5f355242 100644 --- a/lib/lockref.c +++ b/lib/lockref.c @@ -24,7 +24,6 @@ } \ if (!--retry) \ break; \ - cpu_relax(); \ } \ } while (0) diff --git a/lib/nlattr.c b/lib/nlattr.c index fe60f9ae9db1..aa8fc4371e93 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -10,6 +10,7 @@ #include <linux/kernel.h> #include <linux/errno.h> #include <linux/jiffies.h> +#include <linux/nospec.h> #include <linux/skbuff.h> #include <linux/string.h> #include <linux/types.h> @@ -369,6 +370,7 @@ static int validate_nla(const struct nlattr *nla, int maxtype, if (type <= 0 || type > maxtype) return 0; + type = array_index_nospec(type, maxtype + 1); pt = &policy[type]; BUG_ON(pt->type > NLA_TYPE_MAX); @@ -584,6 +586,7 @@ static int __nla_validate_parse(const struct nlattr *head, int len, int maxtype, } continue; } + type = array_index_nospec(type, maxtype + 1); if (policy) { int err = validate_nla(nla, maxtype, policy, validate, extack, depth); diff --git a/lib/ubsan.c b/lib/ubsan.c index adf8dcf3c84e..ee14c46cac89 100644 --- a/lib/ubsan.c +++ b/lib/ubsan.c @@ -151,16 +151,7 @@ static void ubsan_epilogue(void) current->in_ubsan--; - if (panic_on_warn) { - /* - * This thread may hit another WARN() in the panic path. - * Resetting this prevents additional WARN() from panicking the - * system on this thread. Other threads are blocked by the - * panic_mutex in panic(). - */ - panic_on_warn = 0; - panic("panic_on_warn set ...\n"); - } + check_panic_on_warn("UBSAN"); } static void handle_overflow(struct overflow_data *data, void *lhs, |