Re: [PATCH] lib/crypto: tests: Annotate worker to be on stack

From: Ard Biesheuvel
Date: Mon Jul 21 2025 - 20:05:47 EST


On Tue, 22 Jul 2025 at 09:19, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>
> The following warning traceback is seen if object debugging is enabled
> with the new crypto test code.
>
> ODEBUG: object 9000000106237c50 is on stack 9000000106234000, but NOT annotated.
> ------------[ cut here ]------------
> WARNING: lib/debugobjects.c:655 at lookup_object_or_alloc.part.0+0x19c/0x1f4, CPU#0: kunit_try_catch/468
> ...
>
> This also results in a boot stall when running the code in qemu:loongarch.
>
> Initializing the worker with INIT_WORK_ONSTACK() fixes the problem.
>
> Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
> Fixes: 950a81224e8b ("lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py")
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> lib/crypto/tests/hash-test-template.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx>

> diff --git a/lib/crypto/tests/hash-test-template.h b/lib/crypto/tests/hash-test-template.h
> index ffee1741a1b3..f437a0a9ac6c 100644
> --- a/lib/crypto/tests/hash-test-template.h
> +++ b/lib/crypto/tests/hash-test-template.h
> @@ -398,7 +398,7 @@ static void run_irq_test(struct kunit *test, bool (*func)(void *),
> */
> hrtimer_setup_on_stack(&state.timer, hash_irq_test_timer_func,
> CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
> - INIT_WORK(&state.bh_work, hash_irq_test_bh_work_func);
> + INIT_WORK_ONSTACK(&state.bh_work, hash_irq_test_bh_work_func);
>
> /* Run for up to max_iterations or 1 second, whichever comes first. */
> end_jiffies = jiffies + HZ;
> --
> 2.45.2
>