[PATCH] kunit: fix up const mis-match in many assert functions

Greg Kroah-Hartman posted 1 patch 1 month, 3 weeks ago
lib/kunit/assert.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
[PATCH] kunit: fix up const mis-match in many assert functions
Posted by Greg Kroah-Hartman 1 month, 3 weeks ago
In many kunit assert functions a const pointer is passed to
container_of() and out pops a non-const pointer, which really isn't the
correct thing to do at all.  Fix this up by correctly marking the
casted-to pointer as const to preserve the marking.

Cc: Brendan Higgins <brendan.higgins@linux.dev>
Cc: David Gow <davidgow@google.com>
Cc: Rae Moar <raemoar63@gmail.com>
Cc: linux-kselftest@vger.kernel.org
Cc: kunit-dev@googlegroups.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 lib/kunit/assert.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/kunit/assert.c b/lib/kunit/assert.c
index 867aa5c4bccf..4c751ad8506a 100644
--- a/lib/kunit/assert.c
+++ b/lib/kunit/assert.c
@@ -51,7 +51,7 @@ void kunit_unary_assert_format(const struct kunit_assert *assert,
 			       const struct va_format *message,
 			       struct string_stream *stream)
 {
-	struct kunit_unary_assert *unary_assert;
+	const struct kunit_unary_assert *unary_assert;
 
 	unary_assert = container_of(assert, struct kunit_unary_assert, assert);
 
@@ -71,7 +71,7 @@ void kunit_ptr_not_err_assert_format(const struct kunit_assert *assert,
 				     const struct va_format *message,
 				     struct string_stream *stream)
 {
-	struct kunit_ptr_not_err_assert *ptr_assert;
+	const struct kunit_ptr_not_err_assert *ptr_assert;
 
 	ptr_assert = container_of(assert, struct kunit_ptr_not_err_assert,
 				  assert);
@@ -117,7 +117,7 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
 				const struct va_format *message,
 				struct string_stream *stream)
 {
-	struct kunit_binary_assert *binary_assert;
+	const struct kunit_binary_assert *binary_assert;
 
 	binary_assert = container_of(assert, struct kunit_binary_assert,
 				     assert);
@@ -145,7 +145,7 @@ void kunit_binary_ptr_assert_format(const struct kunit_assert *assert,
 				    const struct va_format *message,
 				    struct string_stream *stream)
 {
-	struct kunit_binary_ptr_assert *binary_assert;
+	const struct kunit_binary_ptr_assert *binary_assert;
 
 	binary_assert = container_of(assert, struct kunit_binary_ptr_assert,
 				     assert);
@@ -185,7 +185,7 @@ void kunit_binary_str_assert_format(const struct kunit_assert *assert,
 				    const struct va_format *message,
 				    struct string_stream *stream)
 {
-	struct kunit_binary_str_assert *binary_assert;
+	const struct kunit_binary_str_assert *binary_assert;
 
 	binary_assert = container_of(assert, struct kunit_binary_str_assert,
 				     assert);
@@ -237,7 +237,7 @@ void kunit_mem_assert_format(const struct kunit_assert *assert,
 			     const struct va_format *message,
 			     struct string_stream *stream)
 {
-	struct kunit_mem_assert *mem_assert;
+	const struct kunit_mem_assert *mem_assert;
 
 	mem_assert = container_of(assert, struct kunit_mem_assert,
 				  assert);
-- 
2.52.0
Re: [PATCH] kunit: fix up const mis-match in many assert functions
Posted by David Gow 1 month, 3 weeks ago
On Wed, 17 Dec 2025 at 20:33, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> In many kunit assert functions a const pointer is passed to
> container_of() and out pops a non-const pointer, which really isn't the
> correct thing to do at all.  Fix this up by correctly marking the
> casted-to pointer as const to preserve the marking.
>
> Cc: Brendan Higgins <brendan.higgins@linux.dev>
> Cc: David Gow <davidgow@google.com>
> Cc: Rae Moar <raemoar63@gmail.com>
> Cc: linux-kselftest@vger.kernel.org
> Cc: kunit-dev@googlegroups.com
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---

Nice catch, thanks!

Reviewed-by: David Gow <davidgow@google.com>

Cheers,
-- David


>  lib/kunit/assert.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/lib/kunit/assert.c b/lib/kunit/assert.c
> index 867aa5c4bccf..4c751ad8506a 100644
> --- a/lib/kunit/assert.c
> +++ b/lib/kunit/assert.c
> @@ -51,7 +51,7 @@ void kunit_unary_assert_format(const struct kunit_assert *assert,
>                                const struct va_format *message,
>                                struct string_stream *stream)
>  {
> -       struct kunit_unary_assert *unary_assert;
> +       const struct kunit_unary_assert *unary_assert;
>
>         unary_assert = container_of(assert, struct kunit_unary_assert, assert);
>
> @@ -71,7 +71,7 @@ void kunit_ptr_not_err_assert_format(const struct kunit_assert *assert,
>                                      const struct va_format *message,
>                                      struct string_stream *stream)
>  {
> -       struct kunit_ptr_not_err_assert *ptr_assert;
> +       const struct kunit_ptr_not_err_assert *ptr_assert;
>
>         ptr_assert = container_of(assert, struct kunit_ptr_not_err_assert,
>                                   assert);
> @@ -117,7 +117,7 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
>                                 const struct va_format *message,
>                                 struct string_stream *stream)
>  {
> -       struct kunit_binary_assert *binary_assert;
> +       const struct kunit_binary_assert *binary_assert;
>
>         binary_assert = container_of(assert, struct kunit_binary_assert,
>                                      assert);
> @@ -145,7 +145,7 @@ void kunit_binary_ptr_assert_format(const struct kunit_assert *assert,
>                                     const struct va_format *message,
>                                     struct string_stream *stream)
>  {
> -       struct kunit_binary_ptr_assert *binary_assert;
> +       const struct kunit_binary_ptr_assert *binary_assert;
>
>         binary_assert = container_of(assert, struct kunit_binary_ptr_assert,
>                                      assert);
> @@ -185,7 +185,7 @@ void kunit_binary_str_assert_format(const struct kunit_assert *assert,
>                                     const struct va_format *message,
>                                     struct string_stream *stream)
>  {
> -       struct kunit_binary_str_assert *binary_assert;
> +       const struct kunit_binary_str_assert *binary_assert;
>
>         binary_assert = container_of(assert, struct kunit_binary_str_assert,
>                                      assert);
> @@ -237,7 +237,7 @@ void kunit_mem_assert_format(const struct kunit_assert *assert,
>                              const struct va_format *message,
>                              struct string_stream *stream)
>  {
> -       struct kunit_mem_assert *mem_assert;
> +       const struct kunit_mem_assert *mem_assert;
>
>         mem_assert = container_of(assert, struct kunit_mem_assert,
>                                   assert);
> --
> 2.52.0
>