The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects
@ 2026-08-06  5:38 Eric Biggers
  2026-08-06 11:36 ` David Gow
  2026-08-07 22:04 ` Eric Biggers
  0 siblings, 2 replies; 3+ messages in thread
From: Eric Biggers @ 2026-08-06  5:38 UTC (permalink / raw)
  To: linux-crypto
  Cc: linux-kernel, Ard Biesheuvel, Jason A . Donenfeld, Herbert Xu,
	kunit-dev, Brendan Higgins, David Gow, Rae Moar, Eric Biggers

In kunit_run_irq_test(), call destroy_hrtimer_on_stack() and
destroy_work_on_stack() to unregister the hrtimer and work from the
debugobjects infrastructure (when CONFIG_DEBUG_OBJECTS_TIMERS=y and
CONFIG_DEBUG_OBJECTS_WORK=y) before the function returns.

Found via code review; the lack of the unregistrations didn't actually
cause a warning, since the objects are inactive upon return anyway.  But
they should be there, otherwise debugobjects keeps tracking the objects.

Fixes: 950a81224e8b ("lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py")
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---

This patch is targeting libcrypto-next

 include/kunit/run-in-irq-context.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/kunit/run-in-irq-context.h b/include/kunit/run-in-irq-context.h
index 3802b6fb218ed..b46fa1696360c 100644
--- a/include/kunit/run-in-irq-context.h
+++ b/include/kunit/run-in-irq-context.h
@@ -137,6 +137,8 @@ static inline void kunit_run_irq_test(struct kunit *test, bool (*func)(void *),
 	/* Cancel the timer and work. */
 	hrtimer_cancel(&state.timer);
 	flush_work(&state.bh_work);
+	destroy_hrtimer_on_stack(&state.timer);
+	destroy_work_on_stack(&state.bh_work);
 
 	/* Sanity check: the timer and BH functions should have been run. */
 	KUNIT_EXPECT_GT_MSG(test, atomic_read(&state.hardirq_func_calls), 0,

base-commit: 4bceb5614e0fc0338d6787f39df5472bfd72eaab
-- 
2.55.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects
  2026-08-06  5:38 [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects Eric Biggers
@ 2026-08-06 11:36 ` David Gow
  2026-08-07 22:04 ` Eric Biggers
  1 sibling, 0 replies; 3+ messages in thread
From: David Gow @ 2026-08-06 11:36 UTC (permalink / raw)
  To: Eric Biggers, linux-crypto
  Cc: linux-kernel, Ard Biesheuvel, Jason A . Donenfeld, Herbert Xu,
	kunit-dev, Brendan Higgins, Rae Moar

Le 06/08/2026 à 1:38 PM, Eric Biggers a écrit :
> In kunit_run_irq_test(), call destroy_hrtimer_on_stack() and
> destroy_work_on_stack() to unregister the hrtimer and work from the
> debugobjects infrastructure (when CONFIG_DEBUG_OBJECTS_TIMERS=y and
> CONFIG_DEBUG_OBJECTS_WORK=y) before the function returns.
> 
> Found via code review; the lack of the unregistrations didn't actually
> cause a warning, since the objects are inactive upon return anyway.  But
> they should be there, otherwise debugobjects keeps tracking the objects.
> 
> Fixes: 950a81224e8b ("lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py")
> Signed-off-by: Eric Biggers <ebiggers@kernel.org>
> ---
> 
> This patch is targeting libcrypto-next

Nice catch, thanks!

Reviewed-by: David Gow <david@davidgow.net>

Cheers,
-- David

> 
>  include/kunit/run-in-irq-context.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/kunit/run-in-irq-context.h b/include/kunit/run-in-irq-context.h
> index 3802b6fb218ed..b46fa1696360c 100644
> --- a/include/kunit/run-in-irq-context.h
> +++ b/include/kunit/run-in-irq-context.h
> @@ -137,6 +137,8 @@ static inline void kunit_run_irq_test(struct kunit *test, bool (*func)(void *),
>  	/* Cancel the timer and work. */
>  	hrtimer_cancel(&state.timer);
>  	flush_work(&state.bh_work);
> +	destroy_hrtimer_on_stack(&state.timer);
> +	destroy_work_on_stack(&state.bh_work);
>  
>  	/* Sanity check: the timer and BH functions should have been run. */
>  	KUNIT_EXPECT_GT_MSG(test, atomic_read(&state.hardirq_func_calls), 0,
> 
> base-commit: 4bceb5614e0fc0338d6787f39df5472bfd72eaab


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects
  2026-08-06  5:38 [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects Eric Biggers
  2026-08-06 11:36 ` David Gow
@ 2026-08-07 22:04 ` Eric Biggers
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Biggers @ 2026-08-07 22:04 UTC (permalink / raw)
  To: linux-crypto
  Cc: linux-kernel, Ard Biesheuvel, Jason A . Donenfeld, Herbert Xu,
	kunit-dev, Brendan Higgins, David Gow, Rae Moar

On Wed, Aug 05, 2026 at 10:38:04PM -0700, Eric Biggers wrote:
> In kunit_run_irq_test(), call destroy_hrtimer_on_stack() and
> destroy_work_on_stack() to unregister the hrtimer and work from the
> debugobjects infrastructure (when CONFIG_DEBUG_OBJECTS_TIMERS=y and
> CONFIG_DEBUG_OBJECTS_WORK=y) before the function returns.
> 
> Found via code review; the lack of the unregistrations didn't actually
> cause a warning, since the objects are inactive upon return anyway.  But
> they should be there, otherwise debugobjects keeps tracking the objects.
> 
> Fixes: 950a81224e8b ("lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py")
> Signed-off-by: Eric Biggers <ebiggers@kernel.org>
> ---
> 
> This patch is targeting libcrypto-next

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=libcrypto-next

- Eric

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-07 22:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06  5:38 [PATCH] kunit: irq: Unregister on-stack timer and work from debugobjects Eric Biggers
2026-08-06 11:36 ` David Gow
2026-08-07 22:04 ` Eric Biggers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox