kernel/trace/ftrace.c:5417: warning: Function parameter or member 'addr' not described in 'unregister_ftrace_direct'

From: kernel test robot
Date: Thu Nov 02 2023 - 17:59:21 EST


Hi Florent,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4652b8e4f3ffa48c706ec334f048c217a7d9750d
commit: da8bdfbd422333fbb7c85ac1d7f18592d17d6665 ftrace: Rename _ftrace_direct_multi APIs to _ftrace_direct APIs
date: 8 months ago
config: s390-defconfig (https://download.01.org/0day-ci/archive/20231103/202311030542.ii73MaGe-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231103/202311030542.ii73MaGe-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311030542.ii73MaGe-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

kernel/trace/ftrace.c:1283: warning: Function parameter or member 'ops' not described in 'ftrace_free_filter'
>> kernel/trace/ftrace.c:5417: warning: Function parameter or member 'addr' not described in 'unregister_ftrace_direct'
>> kernel/trace/ftrace.c:5417: warning: Function parameter or member 'free_filters' not described in 'unregister_ftrace_direct'
kernel/trace/ftrace.c:5565: warning: Function parameter or member 'ops' not described in 'ftrace_set_filter_ip'
kernel/trace/ftrace.c:5565: warning: Function parameter or member 'ip' not described in 'ftrace_set_filter_ip'
kernel/trace/ftrace.c:5565: warning: Function parameter or member 'remove' not described in 'ftrace_set_filter_ip'
kernel/trace/ftrace.c:5565: warning: Function parameter or member 'reset' not described in 'ftrace_set_filter_ip'
kernel/trace/ftrace.c:5588: warning: Function parameter or member 'ops' not described in 'ftrace_set_filter_ips'
kernel/trace/ftrace.c:5588: warning: Function parameter or member 'ips' not described in 'ftrace_set_filter_ips'
kernel/trace/ftrace.c:5588: warning: Function parameter or member 'cnt' not described in 'ftrace_set_filter_ips'
kernel/trace/ftrace.c:5588: warning: Function parameter or member 'remove' not described in 'ftrace_set_filter_ips'
kernel/trace/ftrace.c:5588: warning: Function parameter or member 'reset' not described in 'ftrace_set_filter_ips'
kernel/trace/ftrace.c:5602: warning: Function parameter or member 'ops' not described in 'ftrace_ops_set_global_filter'
kernel/trace/ftrace.c:5634: warning: Function parameter or member 'ops' not described in 'ftrace_set_filter'
kernel/trace/ftrace.c:5634: warning: Function parameter or member 'buf' not described in 'ftrace_set_filter'
kernel/trace/ftrace.c:5634: warning: Function parameter or member 'len' not described in 'ftrace_set_filter'
kernel/trace/ftrace.c:5634: warning: Function parameter or member 'reset' not described in 'ftrace_set_filter'
kernel/trace/ftrace.c:5657: warning: Function parameter or member 'ops' not described in 'ftrace_set_notrace'
kernel/trace/ftrace.c:5657: warning: Function parameter or member 'buf' not described in 'ftrace_set_notrace'
kernel/trace/ftrace.c:5657: warning: Function parameter or member 'len' not described in 'ftrace_set_notrace'
kernel/trace/ftrace.c:5657: warning: Function parameter or member 'reset' not described in 'ftrace_set_notrace'
kernel/trace/ftrace.c:5672: warning: Function parameter or member 'buf' not described in 'ftrace_set_global_filter'
kernel/trace/ftrace.c:5672: warning: Function parameter or member 'len' not described in 'ftrace_set_global_filter'
kernel/trace/ftrace.c:5672: warning: Function parameter or member 'reset' not described in 'ftrace_set_global_filter'
kernel/trace/ftrace.c:5688: warning: Function parameter or member 'buf' not described in 'ftrace_set_global_notrace'
kernel/trace/ftrace.c:5688: warning: Function parameter or member 'len' not described in 'ftrace_set_global_notrace'
kernel/trace/ftrace.c:5688: warning: Function parameter or member 'reset' not described in 'ftrace_set_global_notrace'


vim +5417 kernel/trace/ftrace.c

f64dd4627ec6edc Jiri Olsa 2021-10-08 5401
f64dd4627ec6edc Jiri Olsa 2021-10-08 5402 /**
da8bdfbd422333f Florent Revest 2023-03-21 5403 * unregister_ftrace_direct - Remove calls to custom trampoline
da8bdfbd422333f Florent Revest 2023-03-21 5404 * previously registered by register_ftrace_direct for @ops object.
f64dd4627ec6edc Jiri Olsa 2021-10-08 5405 * @ops: The address of the struct ftrace_ops object
f64dd4627ec6edc Jiri Olsa 2021-10-08 5406 *
f64dd4627ec6edc Jiri Olsa 2021-10-08 5407 * This is used to remove a direct calls to @addr from the nop locations
f64dd4627ec6edc Jiri Olsa 2021-10-08 5408 * of the functions registered in @ops (with by ftrace_set_filter_ip
f64dd4627ec6edc Jiri Olsa 2021-10-08 5409 * function).
f64dd4627ec6edc Jiri Olsa 2021-10-08 5410 *
f64dd4627ec6edc Jiri Olsa 2021-10-08 5411 * Returns:
f64dd4627ec6edc Jiri Olsa 2021-10-08 5412 * 0 on success
f64dd4627ec6edc Jiri Olsa 2021-10-08 5413 * -EINVAL - The @ops object was not properly registered.
f64dd4627ec6edc Jiri Olsa 2021-10-08 5414 */
da8bdfbd422333f Florent Revest 2023-03-21 5415 int unregister_ftrace_direct(struct ftrace_ops *ops, unsigned long addr,
59495740f79524b Florent Revest 2023-03-21 5416 bool free_filters)
f64dd4627ec6edc Jiri Olsa 2021-10-08 @5417 {
f64dd4627ec6edc Jiri Olsa 2021-10-08 5418 struct ftrace_hash *hash = ops->func_hash->filter_hash;
f64dd4627ec6edc Jiri Olsa 2021-10-08 5419 int err;
f64dd4627ec6edc Jiri Olsa 2021-10-08 5420
f64dd4627ec6edc Jiri Olsa 2021-10-08 5421 if (check_direct_multi(ops))
f64dd4627ec6edc Jiri Olsa 2021-10-08 5422 return -EINVAL;
f64dd4627ec6edc Jiri Olsa 2021-10-08 5423 if (!(ops->flags & FTRACE_OPS_FL_ENABLED))
f64dd4627ec6edc Jiri Olsa 2021-10-08 5424 return -EINVAL;
f64dd4627ec6edc Jiri Olsa 2021-10-08 5425
f64dd4627ec6edc Jiri Olsa 2021-10-08 5426 mutex_lock(&direct_mutex);
f64dd4627ec6edc Jiri Olsa 2021-10-08 5427 err = unregister_ftrace_function(ops);
f64dd4627ec6edc Jiri Olsa 2021-10-08 5428 remove_direct_functions_hash(hash, addr);
f64dd4627ec6edc Jiri Olsa 2021-10-08 5429 mutex_unlock(&direct_mutex);
fea3ffa48c6d42a Jiri Olsa 2021-12-06 5430
fea3ffa48c6d42a Jiri Olsa 2021-12-06 5431 /* cleanup for possible another register call */
fea3ffa48c6d42a Jiri Olsa 2021-12-06 5432 ops->func = NULL;
fea3ffa48c6d42a Jiri Olsa 2021-12-06 5433 ops->trampoline = 0;
59495740f79524b Florent Revest 2023-03-21 5434
59495740f79524b Florent Revest 2023-03-21 5435 if (free_filters)
59495740f79524b Florent Revest 2023-03-21 5436 ftrace_free_filter(ops);
f64dd4627ec6edc Jiri Olsa 2021-10-08 5437 return err;
f64dd4627ec6edc Jiri Olsa 2021-10-08 5438 }
da8bdfbd422333f Florent Revest 2023-03-21 5439 EXPORT_SYMBOL_GPL(unregister_ftrace_direct);
ccf5a89efd6f0a9 Jiri Olsa 2021-10-08 5440

:::::: The code at line 5417 was first introduced by commit
:::::: f64dd4627ec6edc39bf1430fe6dbc923d2300a88 ftrace: Add multi direct register/unregister interface

:::::: TO: Jiri Olsa <jolsa@xxxxxxxxxx>
:::::: CC: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

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