lib/kunit/assert.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
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
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
>
© 2016 - 2026 Red Hat, Inc.