Re: [PATCH 1/1] trace: Move readpos from seq_buf to trace_seq

From: kernel test robot
Date: Thu Oct 19 2023 - 18:00:39 EST


Hi Matthew,

kernel test robot noticed the following build warnings:

[auto build test WARNING on kees/for-next/pstore]
[also build test WARNING on kees/for-next/kspp linus/master v6.6-rc6 next-20231019]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Matthew-Wilcox-Oracle/trace-Move-readpos-from-seq_buf-to-trace_seq/20231020-034718
base: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore
patch link: https://lore.kernel.org/r/20231019194514.2115506-2-willy%40infradead.org
patch subject: [PATCH 1/1] trace: Move readpos from seq_buf to trace_seq
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231020/202310200523.ggyHvT6w-lkp@xxxxxxxxx/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231020/202310200523.ggyHvT6w-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/202310200523.ggyHvT6w-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> lib/seq_buf.c:344: warning: Function parameter or member 'start' not described in 'seq_buf_to_user'


vim +344 lib/seq_buf.c

3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 322)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 323) /**
9dbbc3b9d09d6d lib/seq_buf.c Zhen Lei 2021-07-07 324 * seq_buf_to_user - copy the sequence buffer to user space
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 325) * @s: seq_buf descriptor
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 326) * @ubuf: The userspace memory location to copy to
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 327) * @cnt: The amount to copy
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 328) *
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 329) * Copies the sequence buffer into the userspace memory pointed to
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 330) * by @ubuf. It starts from the last read position (@s->readpos)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 331) * and writes up to @cnt characters or till it reaches the end of
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 332) * the content in the buffer (@s->len), which ever comes first.
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 333) *
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 334) * On success, it returns a positive number of the number of bytes
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 335) * it copied.
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 336) *
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 337) * On failure it returns -EBUSY if all of the content in the
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 338) * sequence has been already read, which includes nothing in the
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 339) * sequence (@s->len == @s->readpos).
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 340) *
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 341) * Returns -EFAULT if the copy to userspace fails.
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 342) */
9377093a882be0 lib/seq_buf.c Matthew Wilcox (Oracle 2023-10-19 343) int seq_buf_to_user(struct seq_buf *s, char __user *ubuf, size_t start, int cnt)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 @344) {
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 345) int len;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 346) int ret;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 347)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 348) if (!cnt)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 349) return 0;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 350)
ff078d8fc64472 lib/seq_buf.c Jerry Snitselaar 2015-11-16 351 len = seq_buf_used(s);
ff078d8fc64472 lib/seq_buf.c Jerry Snitselaar 2015-11-16 352
9377093a882be0 lib/seq_buf.c Matthew Wilcox (Oracle 2023-10-19 353) if (len <= start)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 354) return -EBUSY;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 355)
9377093a882be0 lib/seq_buf.c Matthew Wilcox (Oracle 2023-10-19 356) len -= start;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 357) if (cnt > len)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 358) cnt = len;
9377093a882be0 lib/seq_buf.c Matthew Wilcox (Oracle 2023-10-19 359) ret = copy_to_user(ubuf, s->buffer + start, cnt);
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 360) if (ret == cnt)
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 361) return -EFAULT;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 362)
9377093a882be0 lib/seq_buf.c Matthew Wilcox (Oracle 2023-10-19 363) return cnt - ret;
3a161d99c43ce7 kernel/trace/seq_buf.c Steven Rostedt (Red Hat 2014-06-25 364) }
353cade3149c27 lib/seq_buf.c Piotr Maziarz 2019-11-07 365

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