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
next 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.