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

Thomas Gleixner posted 1 patch 14 hours ago
lib/debugobjects.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[GIT pull] core/debugobjects for v6.19-rc1
Posted by Thomas Gleixner 14 hours ago
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);