lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251017050804.48439442@batman.local.home>
Date: Fri, 17 Oct 2025 05:08:04 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: linux-kernel@...r.kernel.org, Lai Jiangshan <laijs@...fujitsu.com>,
 Masami Hiramatsu <mhiramat@...nel.org>, Mathieu Desnoyers
 <mathieu.desnoyers@...icios.com>, linux-trace-kernel@...r.kernel.org
Subject: Re: [PATCH] ring-buffer: fix kernel-doc format to avoid a warning

On Fri, 17 Oct 2025 00:07:53 -0700
Randy Dunlap <rdunlap@...radead.org> wrote:

> Format the kernel-doc for RINGBUF_TYPE_DATA_TYPE_LEN_MAX correctly
> to prevent a kernel-doc warning:
> 
> Warning: include/linux/ring_buffer.h:61 Enum value
>  'RINGBUF_TYPE_DATA_TYPE_LEN_MAX' not described in enum 'ring_buffer_type'

Then this needs to be updated differently, because that "<=" is stating
what happens when the value is <= RINGBUF_TYPE_DATA_TYPE_LEN_MAX.

It wasn't random characters.

Basically, the enum describes the event type.

enum ring_buffer_type {
        RINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,
        RINGBUF_TYPE_PADDING,
        RINGBUF_TYPE_TIME_EXTEND,
        RINGBUF_TYPE_TIME_STAMP,
};

When the type is > 28 it is either a padding, time-extend or
time-stamp. But if it is less than or equal to
RINGBUF_TYPE_DATA_TYPE_LEN_MAX then it is the length of a data event.

Perhaps we should have it be:

 * 0:
 *                              Data record
 *                                array[0] holds the actual length
 *                                array[1..(length+3)/4] holds data
 *                                size = 4 + length (bytes)
 *
 * 1 - @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
 *                              Data record
 *                                length = type_len << 2
 *                                array[0..(length+3)/4-1] holds data
 *                                size = 4 + length (bytes)

  ?

This data is more important that making kerneldoc work.

-- Steve


> 
> Fixes: 334d4169a659 ("ring_buffer: compressed event header")
> Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
> ---
> Cc: Lai Jiangshan <laijs@...fujitsu.com>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: Masami Hiramatsu <mhiramat@...nel.org>
> Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
> Cc: linux-trace-kernel@...r.kernel.org
> ---
>  include/linux/ring_buffer.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-next-20251016.orig/include/linux/ring_buffer.h
> +++ linux-next-20251016/include/linux/ring_buffer.h
> @@ -43,7 +43,7 @@ struct ring_buffer_event {
>   *				 array[0] = top (28 .. 59) bits
>   *				 size = 8 bytes
>   *
> - * <= @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
> + * @RINGBUF_TYPE_DATA_TYPE_LEN_MAX:
>   *				Data record
>   *				 If type_len is zero:
>   *				  array[0] holds the actual length


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ