[block:for-5.15/io_uring 43/45] kernel/exit.c:780:2: error: too few arguments to function 'io_uring_files_cancel'
From: kernel test robot
Date: Thu Aug 12 2021 - 17:24:08 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.15/io_uring
head: 22ec865ddfba31ddf26b9d2b4a01e8437ca1f727
commit: 6a32aa46fa0b531970581d5b425514da7f9f8e46 [43/45] io_uring: remove files pointer in cancellation functions
config: s390-randconfig-r031-20210812 (attached as .config)
compiler: s390-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?id=6a32aa46fa0b531970581d5b425514da7f9f8e46
git remote add block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch --no-tags block for-5.15/io_uring
git checkout 6a32aa46fa0b531970581d5b425514da7f9f8e46
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
kernel/exit.c: In function 'do_exit':
>> kernel/exit.c:780:2: error: too few arguments to function 'io_uring_files_cancel'
780 | io_uring_files_cancel();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from kernel/exit.c:66:
include/linux/io_uring.h:36:20: note: declared here
36 | static inline void io_uring_files_cancel(struct files_struct *files)
| ^~~~~~~~~~~~~~~~~~~~~
kernel/exit.c: At top level:
kernel/exit.c:1810:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
1810 | __weak void abort(void)
| ^~~~~
vim +/io_uring_files_cancel +780 kernel/exit.c
726
727 void __noreturn do_exit(long code)
728 {
729 struct task_struct *tsk = current;
730 int group_dead;
731
732 /*
733 * We can get here from a kernel oops, sometimes with preemption off.
734 * Start by checking for critical errors.
735 * Then fix up important state like USER_DS and preemption.
736 * Then do everything else.
737 */
738
739 WARN_ON(blk_needs_flush_plug(tsk));
740
741 if (unlikely(in_interrupt()))
742 panic("Aiee, killing interrupt handler!");
743 if (unlikely(!tsk->pid))
744 panic("Attempted to kill the idle task!");
745
746 /*
747 * If do_exit is called because this processes oopsed, it's possible
748 * that get_fs() was left as KERNEL_DS, so reset it to USER_DS before
749 * continuing. Amongst other possible reasons, this is to prevent
750 * mm_release()->clear_child_tid() from writing to a user-controlled
751 * kernel address.
752 */
753 force_uaccess_begin();
754
755 if (unlikely(in_atomic())) {
756 pr_info("note: %s[%d] exited with preempt_count %d\n",
757 current->comm, task_pid_nr(current),
758 preempt_count());
759 preempt_count_set(PREEMPT_ENABLED);
760 }
761
762 profile_task_exit(tsk);
763 kcov_task_exit(tsk);
764
765 ptrace_event(PTRACE_EVENT_EXIT, code);
766
767 validate_creds_for_do_exit(tsk);
768
769 /*
770 * We're taking recursive faults here in do_exit. Safest is to just
771 * leave this task alone and wait for reboot.
772 */
773 if (unlikely(tsk->flags & PF_EXITING)) {
774 pr_alert("Fixing recursive fault but reboot is needed!\n");
775 futex_exit_recursive(tsk);
776 set_current_state(TASK_UNINTERRUPTIBLE);
777 schedule();
778 }
779
> 780 io_uring_files_cancel();
781 exit_signals(tsk); /* sets PF_EXITING */
782
783 /* sync mm's RSS info before statistics gathering */
784 if (tsk->mm)
785 sync_mm_rss(tsk->mm);
786 acct_update_integrals(tsk);
787 group_dead = atomic_dec_and_test(&tsk->signal->live);
788 if (group_dead) {
789 /*
790 * If the last thread of global init has exited, panic
791 * immediately to get a useable coredump.
792 */
793 if (unlikely(is_global_init(tsk)))
794 panic("Attempted to kill init! exitcode=0x%08x\n",
795 tsk->signal->group_exit_code ?: (int)code);
796
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip