From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: John Ogness <john.ogness@linutronix.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Petr Mladek <pmladek@suse.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Thomas Gleixner <tglx@linutronix.de>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"open list:ARM/Amlogic Meson..."
<linux-amlogic@lists.infradead.org>,
Theodore Ts'o <tytso@mit.edu>,
Alexander Potapenko <glider@google.com>,
Marco Elver <elver@google.com>,
kasan-dev@googlegroups.com
Subject: Re: [PATCH printk v5 1/1] printk: extend console_lock for per-console locking
Date: Thu, 9 Jun 2022 13:58:44 +0200 [thread overview]
Message-ID: <YqHgdECTYFNJgdGc@zx2c4.com> (raw)
In-Reply-To: <87fske3wzw.fsf@jogness.linutronix.de>
Hi John,
On Thu, Jun 09, 2022 at 01:25:15PM +0206, John Ogness wrote:
> (Added RANDOM NUMBER DRIVER and KFENCE people.)
Thanks.
> I am guessing you have CONFIG_PROVE_RAW_LOCK_NESTING enabled?
>
> We are seeing a spinlock (base_crng.lock) taken while holding a
> raw_spinlock (meta->lock).
>
> kfence_guarded_alloc()
> raw_spin_trylock_irqsave(&meta->lock, flags)
> prandom_u32_max()
> prandom_u32()
> get_random_u32()
> get_random_bytes()
> _get_random_bytes()
> crng_make_state()
> spin_lock_irqsave(&base_crng.lock, flags);
>
> I expect it is allowed to create kthreads via kthread_run() in
> early_initcalls.
AFAIK, CONFIG_PROVE_RAW_LOCK_NESTING is useful for teasing out cases
where RT's raw spinlocks will nest wrong with RT's sleeping spinlocks.
But nobody who wants an RT kernel will be using KFENCE. So this seems
like a non-issue? Maybe just add a `depends on !KFENCE` to
PROVE_RAW_LOCK_NESTING?
Jason
next prev parent reply other threads:[~2022-06-09 11:59 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-21 21:22 [PATCH printk v4 00/15] implement threaded console printing John Ogness
2022-04-21 21:22 ` [PATCH printk v4 01/15] printk: rename cpulock functions John Ogness
2022-04-21 21:22 ` [PATCH printk v4 02/15] printk: cpu sync always disable interrupts John Ogness
2022-04-21 21:22 ` [PATCH printk v4 03/15] printk: add missing memory barrier to wake_up_klogd() John Ogness
2022-04-21 21:22 ` [PATCH printk v4 04/15] printk: wake up all waiters John Ogness
2022-04-21 21:22 ` [PATCH printk v4 05/15] printk: wake waiters for safe and NMI contexts John Ogness
2022-04-21 21:22 ` [PATCH printk v4 06/15] printk: get caller_id/timestamp after migration disable John Ogness
2022-04-21 21:22 ` [PATCH printk v4 07/15] printk: call boot_delay_msec() in printk_delay() John Ogness
2022-04-21 21:22 ` [PATCH printk v4 08/15] printk: add con_printk() macro for console details John Ogness
2022-04-21 21:22 ` [PATCH printk v4 09/15] printk: refactor and rework printing logic John Ogness
2022-04-21 21:22 ` [PATCH printk v4 10/15] printk: move buffer definitions into console_emit_next_record() caller John Ogness
2022-04-21 21:22 ` [PATCH printk v4 11/15] printk: add pr_flush() John Ogness
2022-04-21 21:22 ` [PATCH printk v4 12/15] printk: add functions to prefer direct printing John Ogness
2022-04-21 21:22 ` [PATCH printk v4 13/15] printk: add kthread console printers John Ogness
2022-04-22 7:48 ` Petr Mladek
2022-04-21 21:22 ` [PATCH printk v4 14/15] printk: extend console_lock for proper kthread support John Ogness
2022-04-21 21:40 ` John Ogness
2022-04-22 9:21 ` Petr Mladek
2022-04-25 20:58 ` [PATCH printk v5 1/1] printk: extend console_lock for per-console locking John Ogness
2022-04-26 12:07 ` Petr Mladek
2022-04-26 13:16 ` Petr Mladek
2022-04-27 7:08 ` Marek Szyprowski
2022-04-27 7:38 ` Petr Mladek
2022-04-27 11:44 ` Marek Szyprowski
2022-04-27 16:15 ` John Ogness
2022-04-27 16:48 ` Petr Mladek
2022-04-28 14:54 ` Petr Mladek
2022-04-29 13:53 ` Marek Szyprowski
2022-04-30 16:00 ` John Ogness
2022-05-02 9:19 ` Marek Szyprowski
2022-05-02 13:11 ` John Ogness
2022-05-02 22:29 ` Marek Szyprowski
2022-05-04 5:56 ` John Ogness
2022-05-04 6:52 ` Marek Szyprowski
2022-06-08 15:10 ` Geert Uytterhoeven
2022-06-09 11:19 ` John Ogness
2022-06-09 11:58 ` Jason A. Donenfeld [this message]
2022-06-09 12:18 ` Dmitry Vyukov
2022-06-09 12:27 ` Jason A. Donenfeld
2022-06-09 12:32 ` Dmitry Vyukov
2022-06-17 16:51 ` Sebastian Andrzej Siewior
2022-06-09 12:18 ` Jason A. Donenfeld
2022-05-02 13:17 ` Petr Mladek
2022-05-02 23:13 ` Marek Szyprowski
2022-05-03 6:49 ` Petr Mladek
2022-05-04 6:05 ` Marek Szyprowski
2022-05-04 21:11 ` John Ogness
2022-05-04 22:42 ` John Ogness
2022-05-05 22:33 ` John Ogness
2022-05-06 6:43 ` Marek Szyprowski
2022-05-06 7:55 ` Neil Armstrong
2022-05-08 11:02 ` John Ogness
2022-05-06 8:16 ` Petr Mladek
2022-05-06 9:20 ` John Ogness
2022-05-06 11:25 ` Marek Szyprowski
2022-05-06 12:41 ` John Ogness
2022-05-06 13:04 ` Marek Szyprowski
2022-06-22 9:03 ` Geert Uytterhoeven
2022-06-22 22:37 ` John Ogness
2022-06-23 10:10 ` Geert Uytterhoeven
2022-04-21 21:22 ` [PATCH printk v4 15/15] printk: remove @console_locked John Ogness
2022-04-22 9:39 ` [PATCH printk v4 00/15] implement threaded console printing Petr Mladek
2022-04-22 20:29 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YqHgdECTYFNJgdGc@zx2c4.com \
--to=jason@zx2c4.com \
--cc=elver@google.com \
--cc=geert@linux-m68k.org \
--cc=glider@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=john.ogness@linutronix.de \
--cc=kasan-dev@googlegroups.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox