Re: [PATCH] sysctl: repair some kernel-doc comments

From: Joel Granados

Date: Mon Jul 20 2026 - 04:12:35 EST


pushed it to sysctl-next

Thx

Best
On Sat, Jul 18, 2026 at 12:03:56PM -0700, Randy Dunlap wrote:
> Convert a non-kernel-comment to use "/*" instead.
> Don't use kernel-doc for the nested @type enum values since they
> aren't part of the struct.
>
> Warning: ./include/linux/sysctl.h:62 Cannot find identifier on line:
> *
> Warning: ./include/linux/sysctl.h:63 Cannot find identifier on line:
> * "dir" originates from read_iter (dir = 0) or write_iter (dir = 1)
> Warning: ./include/linux/sysctl.h:64 This comment starts with '/**', but isn't a kernel-doc comment.
> * in the file_operations struct at proc/proc_sysctl.c. Its value means
> Warning: ./include/linux/sysctl.h:274 Excess struct member
> 'type.SYSCTL_TABLE_TYPE_DEFAULT' description in 'ctl_table_header'
> Warning: ./include/linux/sysctl.h:274 Excess struct member
> 'type.SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY' description in 'ctl_table_header'
>
> Note: This still leaves 7 struct members in ctl_table_header that
> are not described. E.g.:
> Warning: include/linux/sysctl.h:274 struct member 'unregistering' not described in 'ctl_table_header'
> Warning: include/linux/sysctl.h:274 struct member 'ctl_table_arg' not described in 'ctl_table_header'
>
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> ---
> Cc: Kees Cook <kees@xxxxxxxxxx>
> Cc: Joel Granados <joel.granados@xxxxxxxxxx>
> Cc: linux-fsdevel@xxxxxxxxxxxxxxx
>
> include/linux/sysctl.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> --- linux-next-20260717.orig/include/linux/sysctl.h
> +++ linux-next-20260717/include/linux/sysctl.h
> @@ -59,7 +59,7 @@ extern const int sysctl_vals[];
> #define SYSCTL_LONG_ONE ((void *)&sysctl_long_vals[1])
> #define SYSCTL_LONG_MAX ((void *)&sysctl_long_vals[2])
>
> -/**
> +/*
> *
> * "dir" originates from read_iter (dir = 0) or write_iter (dir = 1)
> * in the file_operations struct at proc/proc_sysctl.c. Its value means
> @@ -245,9 +245,9 @@ struct ctl_node {
> * @nreg: When nreg drops to 0 the ctl_table_header will be unregistered.
> * @rcu: Delays the freeing of the inode. Introduced with "unfuck proc_sysctl ->d_compare()"
> *
> - * @type: Enumeration to differentiate between ctl target types
> - * @type.SYSCTL_TABLE_TYPE_DEFAULT: ctl target with no special considerations
> - * @type.SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY: Identifies a permanently empty dir
> + * @type: Enumeration to differentiate between ctl target types:
> + * type.SYSCTL_TABLE_TYPE_DEFAULT: ctl target with no special considerations
> + * type.SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY: Identifies a permanently empty dir
> * target to serve as a mount point
> */
> struct ctl_table_header {

--

Joel Granados

Attachment: signature.asc
Description: PGP signature