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

From: kernel test robot
Date: Mon Dec 18 2023 - 00:23:36 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: ceb6a6f023fd3e8b07761ed900352ef574010bcb
commit: da8bdfbd422333fbb7c85ac1d7f18592d17d6665 ftrace: Rename _ftrace_direct_multi APIs to _ftrace_direct APIs
date: 9 months ago
config: i386-randconfig-054-20231216 (https://download.01.org/0day-ci/archive/20231218/202312181320.e0OwUd0s-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231218/202312181320.e0OwUd0s-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/202312181320.e0OwUd0s-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

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


vim +5417 kernel/trace/ftrace.c

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