Re: [PATCH] initramfs_test: mark testcases as __refdata

From: David Disseldorp
Date: Wed Mar 05 2025 - 17:09:27 EST


Hi Arnd,

Thanks for the patch. A fix for this was already submitted via:
https://lore.kernel.org/linux-fsdevel/20250305130955.24658-2-ddiss@xxxxxxx/T/#u

On Wed, 5 Mar 2025 18:27:01 +0100, Arnd Bergmann wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The testcase calls an __init function, so it must have a corresponding
> annotation:
>
> WARNING: modpost: vmlinux: section mismatch in reference: initramfs_test_cases+0x0 (section: .data) -> initramfs_test_extract (section: .init.text)
>
> As with other kunit tests, using __refdata suppresses the warning without
> annotating the structure itself as __initdata.
>
> Fixes: b6736cfccb58 ("initramfs_test: kunit tests for initramfs unpacking")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> init/initramfs_test.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/init/initramfs_test.c b/init/initramfs_test.c
> index 6231fe012583..3539891ae081 100644
> --- a/init/initramfs_test.c
> +++ b/init/initramfs_test.c
> @@ -387,7 +387,7 @@ static void __init initramfs_test_many(struct kunit *test)
> * The kunit_case/_suite struct cannot be marked as __initdata as this will be
> * used in debugfs to retrieve results after test has run.
> */
> -static struct kunit_case initramfs_test_cases[] = {
> +static struct kunit_case initramfs_test_cases[] __refdata = {
> KUNIT_CASE(initramfs_test_extract),
> KUNIT_CASE(initramfs_test_fname_overrun),
> KUNIT_CASE(initramfs_test_data),