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

0 views
Skip to first unread message

Greg Kroah-Hartman

unread,
Dec 17, 2025, 7:33:00 AM (yesterday) Dec 17
to brendan...@linux.dev, davi...@google.com, linux-...@vger.kernel.org, Greg Kroah-Hartman, Rae Moar, linux-k...@vger.kernel.org, kuni...@googlegroups.com
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...@linux.dev>
Cc: David Gow <davi...@google.com>
Cc: Rae Moar <raem...@gmail.com>
Cc: linux-k...@vger.kernel.org
Cc: kuni...@googlegroups.com
Signed-off-by: Greg Kroah-Hartman <gre...@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

David Gow

unread,
1:12 AM (16 hours ago) 1:12 AM
to Greg Kroah-Hartman, brendan...@linux.dev, linux-...@vger.kernel.org, Rae Moar, linux-k...@vger.kernel.org, kuni...@googlegroups.com
On Wed, 17 Dec 2025 at 20:33, Greg Kroah-Hartman
<gre...@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...@linux.dev>
> Cc: David Gow <davi...@google.com>
> Cc: Rae Moar <raem...@gmail.com>
> Cc: linux-k...@vger.kernel.org
> Cc: kuni...@googlegroups.com
> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> ---

Nice catch, thanks!

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

Cheers,
-- David
Reply all
Reply to author
Forward
0 new messages