[GIT pull] core/debugobjects for v6.19-rc1

From: Thomas Gleixner
Date: Mon Dec 01 2025 - 01:51:46 EST


Linus,

please pull the latest core/debugobjects branch from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-debugobjects-2025-11-30

up to: 37de2dbc318e: debugobjects: Use LD_WAIT_CONFIG instead of LD_WAIT_SLEEP

Two small updates for debugobjects:

- Allow pool refill on RT enabled kernels before the scheduler is up
and running to prevent pool exhaustion

- Correct the lockdep override to prevent false positives.

Thanks,

tglx

------------------>
Sebastian Andrzej Siewior (2):
debugobjects: Allow to refill the pool before SYSTEM_SCHEDULING
debugobjects: Use LD_WAIT_CONFIG instead of LD_WAIT_SLEEP


lib/debugobjects.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 7f50c4480a4e..ecf8e7f978e3 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -714,13 +714,13 @@ static void debug_objects_fill_pool(void)
* raw_spinlock_t are basically the same type and this lock-type
* inversion works just fine.
*/
- if (!IS_ENABLED(CONFIG_PREEMPT_RT) || preemptible()) {
+ if (!IS_ENABLED(CONFIG_PREEMPT_RT) || preemptible() || system_state < SYSTEM_SCHEDULING) {
/*
* Annotate away the spinlock_t inside raw_spinlock_t warning
- * by temporarily raising the wait-type to WAIT_SLEEP, matching
+ * by temporarily raising the wait-type to LD_WAIT_CONFIG, matching
* the preemptible() condition above.
*/
- static DEFINE_WAIT_OVERRIDE_MAP(fill_pool_map, LD_WAIT_SLEEP);
+ static DEFINE_WAIT_OVERRIDE_MAP(fill_pool_map, LD_WAIT_CONFIG);
lock_map_acquire_try(&fill_pool_map);
fill_pool();
lock_map_release(&fill_pool_map);