On 2025-07-02, Petr Mladek <pmla...@suse.com> wrote: > diff --git a/kernel/printk/printk_ringbuffer_kunit_test.c > b/kernel/printk/printk_ringbuffer_kunit_test.c > index 0c3030fde8c2..088fe4d8c9b6 100644 > --- a/kernel/printk/printk_ringbuffer_kunit_test.c > +++ b/kernel/printk/printk_ringbuffer_kunit_test.c > @@ -114,10 +117,14 @@ static int prbtest_writer(void *data) > kunit_info(tr->test_data->test, "start thread %03lu (writer)\n", > tr->num); > > for (;;) { > - /* ensure at least 1 character */ > - text_size = get_random_u32_inclusive(1, MAX_RBDATA_TEXT_SIZE); > - /* +1 for terminator. */ > - record_size = sizeof(struct prbtest_rbdata) + text_size + 1; > + /* ensure at least 1 character + trailing '\0' */ > + text_size = get_random_u32_inclusive(2, MAX_RBDATA_TEXT_SIZE); > + if (WARN_ON_ONCE(text_size < 2)) > + text_size = 2; > + if (WARN_ON_ONCE(text_size > MAX_RBDATA_TEXT_SIZE)) > + text_size = MAX_RBDATA_TEXT_SIZE;
IMHO the WARN_ON_ONCE's are excessive. It is allowed to expect that get_random_u32_inclusive() works correctly. But I am fine with it. Reviewed-by: John Ogness <john.ogn...@linutronix.de>