All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Tom Zanussi <zanussi@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	"Steven Rostedt (VMware)" <rostedt@goodmis.org>
Subject: kernel/trace/trace_kprobe.c:952: warning: Excess function parameter 'args' description in '__kprobe_event_gen_cmd_start'
Date: Thu, 19 Oct 2023 04:33:41 +0800	[thread overview]
Message-ID: <202310190437.paI6LYJF-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   dd72f9c7e512da377074d47d990564959b772643
commit: 2a588dd1d5d649a183a2ff6fa1b80e870cf821d8 tracing: Add kprobe event command generation functions
date:   3 years, 9 months ago
config: x86_64-randconfig-x012-20230629 (https://download.01.org/0day-ci/archive/20231019/202310190437.paI6LYJF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231019/202310190437.paI6LYJF-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310190437.paI6LYJF-lkp@intel.com/

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	{
   953		char buf[MAX_EVENT_NAME_LEN];
   954		struct dynevent_arg arg;
   955		va_list args;
   956		int ret;
   957	
   958		if (cmd->type != DYNEVENT_TYPE_KPROBE)
   959			return -EINVAL;
   960	
   961		if (kretprobe)
   962			snprintf(buf, MAX_EVENT_NAME_LEN, "r:kprobes/%s", name);
   963		else
   964			snprintf(buf, MAX_EVENT_NAME_LEN, "p:kprobes/%s", name);
   965	
   966		ret = dynevent_str_add(cmd, buf);
   967		if (ret)
   968			return ret;
   969	
   970		dynevent_arg_init(&arg, NULL, 0);
   971		arg.str = loc;
   972		ret = dynevent_arg_add(cmd, &arg);
   973		if (ret)
   974			return ret;
   975	
   976		va_start(args, loc);
   977		for (;;) {
   978			const char *field;
   979	
   980			field = va_arg(args, const char *);
   981			if (!field)
   982				break;
   983	
   984			if (++cmd->n_fields > MAX_TRACE_ARGS) {
   985				ret = -EINVAL;
   986				break;
   987			}
   988	
   989			arg.str = field;
   990			ret = dynevent_arg_add(cmd, &arg);
   991			if (ret)
   992				break;
   993		}
   994		va_end(args);
   995	
   996		return ret;
   997	}
   998	EXPORT_SYMBOL_GPL(__kprobe_event_gen_cmd_start);
   999	
  1000	/**
  1001	 * __kprobe_event_add_fields - Add probe fields to a kprobe command from arg list
  1002	 * @cmd: A pointer to the dynevent_cmd struct representing the new event
  1003	 * @args: Variable number of arg (pairs), one pair for each field
  1004	 *
  1005	 * NOTE: Users normally won't want to call this function directly, but
  1006	 * rather use the kprobe_event_add_fields() wrapper, which
  1007	 * automatically adds a NULL to the end of the arg list.  If this
  1008	 * function is used directly, make sure the last arg in the variable
  1009	 * arg list is NULL.
  1010	 *
  1011	 * Add probe fields to an existing kprobe command using a variable
  1012	 * list of args.  Fields are added in the same order they're listed.
  1013	 *
  1014	 * Return: 0 if successful, error otherwise.
  1015	 */
  1016	int __kprobe_event_add_fields(struct dynevent_cmd *cmd, ...)
> 1017	{
  1018		struct dynevent_arg arg;
  1019		va_list args;
  1020		int ret;
  1021	
  1022		if (cmd->type != DYNEVENT_TYPE_KPROBE)
  1023			return -EINVAL;
  1024	
  1025		dynevent_arg_init(&arg, NULL, 0);
  1026	
  1027		va_start(args, cmd);
  1028		for (;;) {
  1029			const char *field;
  1030	
  1031			field = va_arg(args, const char *);
  1032			if (!field)
  1033				break;
  1034	
  1035			if (++cmd->n_fields > MAX_TRACE_ARGS) {
  1036				ret = -EINVAL;
  1037				break;
  1038			}
  1039	
  1040			arg.str = field;
  1041			ret = dynevent_arg_add(cmd, &arg);
  1042			if (ret)
  1043				break;
  1044		}
  1045		va_end(args);
  1046	
  1047		return ret;
  1048	}
  1049	EXPORT_SYMBOL_GPL(__kprobe_event_add_fields);
  1050	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-10-18 20:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18 20:33 kernel test robot [this message]
2023-10-19 13:22 ` kernel/trace/trace_kprobe.c:952: warning: Excess function parameter 'args' description in '__kprobe_event_gen_cmd_start' Steven Rostedt
2023-10-27  5:19   ` Yujie Liu
2023-10-28 21:09     ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202310190437.paI6LYJF-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rostedt@goodmis.org \
    --cc=zanussi@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.