[PATCH] kselftest: arm64: Add a null pointer check

Kunwu Chan posted 1 patch 1 week, 4 days ago
tools/testing/selftests/arm64/tags/tags_test.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] kselftest: arm64: Add a null pointer check
Posted by Kunwu Chan 1 week, 4 days ago
There is a 'malloc' call, which can be unsuccessful.
This patch will add the malloc failure checking
to avoid possible null dereference and give more information
about test fail reasons.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
---
 tools/testing/selftests/arm64/tags/tags_test.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/testing/selftests/arm64/tags/tags_test.c b/tools/testing/selftests/arm64/tags/tags_test.c
index 5701163460ef..955f87c1170d 100644
--- a/tools/testing/selftests/arm64/tags/tags_test.c
+++ b/tools/testing/selftests/arm64/tags/tags_test.c
@@ -6,6 +6,7 @@
 #include <stdint.h>
 #include <sys/prctl.h>
 #include <sys/utsname.h>
+#include "../../kselftest.h"
 
 #define SHIFT_TAG(tag)		((uint64_t)(tag) << 56)
 #define SET_TAG(ptr, tag)	(((uint64_t)(ptr) & ~SHIFT_TAG(0xff)) | \
@@ -21,6 +22,9 @@ int main(void)
 	if (prctl(PR_SET_TAGGED_ADDR_CTRL, PR_TAGGED_ADDR_ENABLE, 0, 0, 0) == 0)
 		tbi_enabled = 1;
 	ptr = (struct utsname *)malloc(sizeof(*ptr));
+	if (!ptr)
+		ksft_exit_fail_msg("Failed to allocate utsname buffer\n");
+
 	if (tbi_enabled)
 		tag = 0x42;
 	ptr = (struct utsname *)SET_TAG(ptr, tag);
-- 
2.40.1
Re: [PATCH] kselftest: arm64: Add a null pointer check
Posted by Will Deacon 6 days, 8 hours ago
On Tue, 23 Apr 2024 16:21:02 +0800, Kunwu Chan wrote:
> There is a 'malloc' call, which can be unsuccessful.
> This patch will add the malloc failure checking
> to avoid possible null dereference and give more information
> about test fail reasons.
> 
> 

Applied to arm64 (for-next/selftests), thanks!

[1/1] kselftest: arm64: Add a null pointer check
      https://git.kernel.org/arm64/c/80164282b362

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: kselftest: arm64: Add a null pointer check
Posted by Markus Elfring 6 days, 2 hours ago
> > There is a 'malloc' call, which can be unsuccessful.
> > This patch will add the malloc failure checking
> > to avoid possible null dereference and give more information
> > about test fail reasons.
>
> Applied to arm64 (for-next/selftests), thanks!
>
> [1/1] kselftest: arm64: Add a null pointer check
>       https://git.kernel.org/arm64/c/80164282b362

Why did you not adhere to known requirements for such a change description?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9-rc5#n94

* Imperative mood

* Addition of the tag “Fixes”


Regards,
Markus
Re: [PATCH] kselftest: arm64: Add a null pointer check
Posted by Markus Elfring 1 week, 4 days ago
…
> This patch will add the malloc failure checking
…

* Please use a corresponding imperative wording for the change description.

* Would you like to add the tag “Fixes” accordingly?


Regards,
Markus
Re: [PATCH] kselftest: arm64: Add a null pointer check
Posted by Muhammad Usama Anjum 1 week, 4 days ago
On 4/23/24 1:21 PM, Kunwu Chan wrote:
> There is a 'malloc' call, which can be unsuccessful.
> This patch will add the malloc failure checking
> to avoid possible null dereference and give more information
> about test fail reasons.
LGTM

Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>

> 
> Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
> ---
>  tools/testing/selftests/arm64/tags/tags_test.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tools/testing/selftests/arm64/tags/tags_test.c b/tools/testing/selftests/arm64/tags/tags_test.c
> index 5701163460ef..955f87c1170d 100644
> --- a/tools/testing/selftests/arm64/tags/tags_test.c
> +++ b/tools/testing/selftests/arm64/tags/tags_test.c
> @@ -6,6 +6,7 @@
>  #include <stdint.h>
>  #include <sys/prctl.h>
>  #include <sys/utsname.h>
> +#include "../../kselftest.h"
The test isn't conformed to TAP. Maybe the next patch could be to conform
the whole test into TAP, would be easy and straight forward.

>  
>  #define SHIFT_TAG(tag)		((uint64_t)(tag) << 56)
>  #define SET_TAG(ptr, tag)	(((uint64_t)(ptr) & ~SHIFT_TAG(0xff)) | \
> @@ -21,6 +22,9 @@ int main(void)
>  	if (prctl(PR_SET_TAGGED_ADDR_CTRL, PR_TAGGED_ADDR_ENABLE, 0, 0, 0) == 0)
>  		tbi_enabled = 1;
>  	ptr = (struct utsname *)malloc(sizeof(*ptr));
> +	if (!ptr)
> +		ksft_exit_fail_msg("Failed to allocate utsname buffer\n");
> +
>  	if (tbi_enabled)
>  		tag = 0x42;
>  	ptr = (struct utsname *)SET_TAG(ptr, tag);

-- 
BR,
Muhammad Usama Anjum