Re: kernel/trace/trace_kprobe.c:952: warning: Excess function parameter 'args' description in '__kprobe_event_gen_cmd_start'

From: Steven Rostedt
Date: Thu Oct 19 2023 - 09:22:18 EST


On Thu, 19 Oct 2023 04:33:41 +0800
kernel test robot <lkp@xxxxxxxxx> wrote:

> All warnings (new ones prefixed by >>):
>
> >> kernel/trace/trace_kprobe.c:952: warning: Excess function parameter 'args' description in '__kprobe_event_gen_cmd_start'
> >> kernel/trace/trace_kprobe.c:1017: warning: Excess function parameter 'args' description in '__kprobe_event_add_fields'
>
>
> vim +952 kernel/trace/trace_kprobe.c
>
> 929
> 930 /**
> 931 * __kprobe_event_gen_cmd_start - Generate a kprobe event command from arg list
> 932 * @cmd: A pointer to the dynevent_cmd struct representing the new event
> 933 * @name: The name of the kprobe event
> 934 * @loc: The location of the kprobe event
> 935 * @kretprobe: Is this a return probe?
> 936 * @args: Variable number of arg (pairs), one pair for each field
> 937 *
> 938 * NOTE: Users normally won't want to call this function directly, but
> 939 * rather use the kprobe_event_gen_cmd_start() wrapper, which automatically
> 940 * adds a NULL to the end of the arg list. If this function is used
> 941 * directly, make sure the last arg in the variable arg list is NULL.
> 942 *
> 943 * Generate a kprobe event command to be executed by
> 944 * kprobe_event_gen_cmd_end(). This function can be used to generate the
> 945 * complete command or only the first part of it; in the latter case,
> 946 * kprobe_event_add_fields() can be used to add more fields following this.
> 947 *
> 948 * Return: 0 if successful, error otherwise.
> 949 */
> 950 int __kprobe_event_gen_cmd_start(struct dynevent_cmd *cmd, bool kretprobe,
> 951 const char *name, const char *loc, ...)
> > 952 {

So what is the proper kerneldoc way to express variable length arguments?

-- Steve