From: Kees Cook <kees@kernel.org>
To: "Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org,
David Gow <davidgow@google.com>,
"David S. Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
sparclinux@vger.kernel.org
Subject: Re: [PATCH] kunit/usercopy: Disable u64 test on 32-bit SPARC
Date: Wed, 16 Apr 2025 10:53:14 -0700 [thread overview]
Message-ID: <202504161052.4011756D7@keescook> (raw)
In-Reply-To: <20250416-kunit-sparc-usercopy-v1-1-a772054db3af@linutronix.de>
On Wed, Apr 16, 2025 at 02:44:19PM +0200, Thomas Weißschuh wrote:
> usercopy of 64 bit values does not work on 32-bit SPARC:
>
> # usercopy_test_valid: EXPECTATION FAILED at lib/tests/usercopy_kunit.c:209
> Expected val_u64 == 0x5a5b5c5d6a6b6c6d, but
> val_u64 == 1515936861 (0x5a5b5c5d)
> 0x5a5b5c5d6a6b6c6d == 6510899242581322861 (0x5a5b5c5d6a6b6c6d)
>
> Disable the test.
>
> Fixes: 4c5d7bc63775 ("usercopy: Add tests for all get_user() sizes")
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---
> To be honest I think sparc32 wants to support usercopy of 64 bit values.
> But it does seem to be broken.
>
> (+Cc SPARC maintainers)
I wonder if these archs need to explicitly fail to build if they trigger
a 64-bit wide put_user/get_user call? It seems weird to me that it
should be possible at all to provide access to the function if we know
it's going to 100% fail.
-Kees
> ---
> lib/tests/usercopy_kunit.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/tests/usercopy_kunit.c b/lib/tests/usercopy_kunit.c
> index 77fa00a13df775074a19772bfbc9120ef33634bb..80f8abe10968c1d91c61006f1eaa63858c633872 100644
> --- a/lib/tests/usercopy_kunit.c
> +++ b/lib/tests/usercopy_kunit.c
> @@ -27,6 +27,7 @@
> !defined(CONFIG_MICROBLAZE) && \
> !defined(CONFIG_NIOS2) && \
> !defined(CONFIG_PPC32) && \
> + !defined(CONFIG_SPARC32) && \
> !defined(CONFIG_SUPERH))
> # define TEST_U64
> #endif
>
> ---
> base-commit: 1a1d569a75f3ab2923cb62daf356d102e4df2b86
> change-id: 20250416-kunit-sparc-usercopy-c36de3ca4ef8
>
> Best regards,
> --
> Thomas Weißschuh <thomas.weissschuh@linutronix.de>
>
--
Kees Cook
next prev parent reply other threads:[~2025-04-16 17:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-16 12:44 [PATCH] kunit/usercopy: Disable u64 test on 32-bit SPARC Thomas Weißschuh
2025-04-16 17:53 ` Kees Cook [this message]
2025-04-16 19:29 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202504161052.4011756D7@keescook \
--to=kees@kernel.org \
--cc=andreas@gaisler.com \
--cc=davem@davemloft.net \
--cc=davidgow@google.com \
--cc=gustavoars@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sparclinux@vger.kernel.org \
--cc=thomas.weissschuh@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox