[ANNOUNCE] 5.10.180-rt89

From: Luis Claudio R. Goncalves
Date: Sun Jun 18 2023 - 17:52:51 EST


Hello RT-list!

I'm pleased to announce the 5.10.180-rt89 stable release.

This release is a RT-only update. All the changes here are specific to RT.

You can get this release via the git tree at:

git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git

branch: v5.10-rt
Head SHA1: cb0ca150b57efd9e879e56c8f9834d98182aa394

Or to build 5.10.180-rt89 directly, the following patches should be applied:

https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz

https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.10.180.xz

https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patch-5.10.180-rt89.patch.xz

Signing key fingerprint:

9354 0649 9972 8D31 D464 D140 F394 A423 F8E6 7C26

All keys used for the above files and repositories can be found on the
following git repository:

git://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git

Testing performed under the tag v5.10.180-rt89-rc1 at:

https://linux.kernelci.org/test/job/rt-stable/branch/v5.10-rt-next/kernel/v5.10.180-rt89-rc1/

Enjoy!
Luis

Changes from v5.10.180-rt88:
---

Luis Claudio R. Goncalves (3):
Revert "printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h"
Revert "mm/page_alloc: fix potential deadlock on zonelist_update_seqseqlock"
Linux 5.10.180-rt89
---
include/linux/printk.h | 19 -------------------
localversion-rt | 2 +-
mm/page_alloc.c | 14 --------------
3 files changed, 1 insertion(+), 34 deletions(-)
---
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 92e0656841128..7e4352467d831 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -609,23 +609,4 @@ static inline void print_hex_dump_debug(const char *prefix_str, int prefix_type,
#define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \
print_hex_dump_debug(prefix_str, prefix_type, 16, 1, buf, len, true)

-#if defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT)
-extern void __printk_safe_enter(void);
-extern void __printk_safe_exit(void);
-/*
- * The printk_deferred_enter/exit macros are available only as a hack for
- * some code paths that need to defer all printk console printing. Interrupts
- * must be disabled for the deferred duration.
- */
-#define printk_deferred_enter __printk_safe_enter
-#define printk_deferred_exit __printk_safe_exit
-#else /* defined(CONFIG_PRINTK) && !defined(CONFIG_PREEMPT_RT) */
-static inline void printk_deferred_enter(void)
-{
-}
-static inline void printk_deferred_exit(void)
-{
-}
-#endif
-
#endif
diff --git a/localversion-rt b/localversion-rt
index 666227d921a3d..d2a40223e4b77 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt88
+-rt89
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 7e65e3ef16e3a..3760a06932a6e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6043,20 +6043,7 @@ static void __build_all_zonelists(void *data)
int nid;
int __maybe_unused cpu;
pg_data_t *self = data;
- unsigned long flags;

- /*
- * Explicitly disable this CPU's interrupts before taking seqlock
- * to prevent any IRQ handler from calling into the page allocator
- * (e.g. GFP_ATOMIC) that could hit zonelist_iter_begin and livelock.
- */
- local_irq_save(flags);
- /*
- * Explicitly disable this CPU's synchronous printk() before taking
- * seqlock to prevent any printk() from trying to hold port->lock, for
- * tty_insert_flip_string_and_push_buffer() on other CPU might be
- * calling kmalloc(GFP_ATOMIC | __GFP_NOWARN) with port->lock held.
- */
write_seqlock(&zonelist_update_seq);

#ifdef CONFIG_NUMA
@@ -6091,7 +6078,6 @@ static void __build_all_zonelists(void *data)
}

write_sequnlock(&zonelist_update_seq);
- local_irq_restore(flags);
}

static noinline void __init