lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201710050739.RtKTq2C4%fengguang.wu@intel.com>
Date:   Thu, 5 Oct 2017 07:40:51 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: [rcu:rcu/next 31/31] kernel/rcu/tree.c:764:75: error: macro
 "trace_rcu_dyntick" passed 4 arguments, but takes just 3

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head:   ff423bbbe3d93b15a89d14de24a90937814cda16
commit: ff423bbbe3d93b15a89d14de24a90937814cda16 [31/31] rcu: Add ->dynticks field to rcu_dyntick trace event
config: i386-randconfig-x001-201740 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout ff423bbbe3d93b15a89d14de24a90937814cda16
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   kernel/rcu/tree.c: In function 'rcu_eqs_enter_common':
>> kernel/rcu/tree.c:764:75: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
     trace_rcu_dyntick(TPS("Start"), rdtp->dynticks_nesting, 0, rdtp->dynticks);
                                                                              ^
>> kernel/rcu/tree.c:764:2: error: 'trace_rcu_dyntick' undeclared (first use in this function)
     trace_rcu_dyntick(TPS("Start"), rdtp->dynticks_nesting, 0, rdtp->dynticks);
     ^~~~~~~~~~~~~~~~~
   kernel/rcu/tree.c:764:2: note: each undeclared identifier is reported only once for each function it appears in
   kernel/rcu/tree.c:770:100: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
      trace_rcu_dyntick(TPS("Error on entry: not idle task"), rdtp->dynticks_nesting, 0, rdtp->dynticks);
                                                                                                       ^
   kernel/rcu/tree.c: In function 'rcu_nmi_exit':
   kernel/rcu/tree.c:883:107: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
      trace_rcu_dyntick(TPS("--="), rdtp->dynticks_nmi_nesting, rdtp->dynticks_nmi_nesting - 2, rdtp->dynticks);
                                                                                                              ^
   kernel/rcu/tree.c:883:3: error: 'trace_rcu_dyntick' undeclared (first use in this function)
      trace_rcu_dyntick(TPS("--="), rdtp->dynticks_nmi_nesting, rdtp->dynticks_nmi_nesting - 2, rdtp->dynticks);
      ^~~~~~~~~~~~~~~~~
   kernel/rcu/tree.c:890:82: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
     trace_rcu_dyntick(TPS("Startirq"), rdtp->dynticks_nmi_nesting, 0, rdtp->dynticks);
                                                                                     ^
   kernel/rcu/tree.c: In function 'rcu_eqs_exit_common':
   kernel/rcu/tree.c:956:78: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
     trace_rcu_dyntick(TPS("End"), rdtp->dynticks_nesting, newval, rdtp->dynticks);
                                                                                 ^
   kernel/rcu/tree.c:956:2: error: 'trace_rcu_dyntick' undeclared (first use in this function)
     trace_rcu_dyntick(TPS("End"), rdtp->dynticks_nesting, newval, rdtp->dynticks);
     ^~~~~~~~~~~~~~~~~
   kernel/rcu/tree.c:962:104: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
      trace_rcu_dyntick(TPS("Error on exit: not idle task"), rdtp->dynticks_nesting, newval, rdtp->dynticks);
                                                                                                           ^
   kernel/rcu/tree.c: In function 'rcu_nmi_enter':
   kernel/rcu/tree.c:1064:56: error: macro "trace_rcu_dyntick" passed 4 arguments, but takes just 3
         rdtp->dynticks_nmi_nesting + incby, rdtp->dynticks);
                                                           ^
   kernel/rcu/tree.c:1062:2: error: 'trace_rcu_dyntick' undeclared (first use in this function)
     trace_rcu_dyntick(incby == 1 ? TPS("Endirq") : TPS("++="),
     ^~~~~~~~~~~~~~~~~

vim +/trace_rcu_dyntick +764 kernel/rcu/tree.c

   750	
   751	/*
   752	 * rcu_eqs_enter_common - current CPU is entering an extended quiescent state
   753	 *
   754	 * Enter idle, doing appropriate accounting.  The caller must have
   755	 * disabled interrupts.
   756	 */
   757	static void rcu_eqs_enter_common(bool user)
   758	{
   759		struct rcu_state *rsp;
   760		struct rcu_data *rdp;
   761		struct rcu_dynticks *rdtp = this_cpu_ptr(&rcu_dynticks);
   762	
   763		RCU_LOCKDEP_WARN(!irqs_disabled(), "rcu_eqs_enter_common() invoked with irqs enabled!!!");
 > 764		trace_rcu_dyntick(TPS("Start"), rdtp->dynticks_nesting, 0, rdtp->dynticks);
   765		if (IS_ENABLED(CONFIG_RCU_EQS_DEBUG) &&
   766		    !user && !is_idle_task(current)) {
   767			struct task_struct *idle __maybe_unused =
   768				idle_task(smp_processor_id());
   769	
   770			trace_rcu_dyntick(TPS("Error on entry: not idle task"), rdtp->dynticks_nesting, 0, rdtp->dynticks);
   771			rcu_ftrace_dump(DUMP_ORIG);
   772			WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s",
   773				  current->pid, current->comm,
   774				  idle->pid, idle->comm); /* must be idle task! */
   775		}
   776		for_each_rcu_flavor(rsp) {
   777			rdp = this_cpu_ptr(rsp->rda);
   778			do_nocb_deferred_wakeup(rdp);
   779		}
   780		rcu_prepare_for_idle();
   781		rdtp->dynticks_nesting = 0;
   782		rcu_dynticks_eqs_enter();
   783		rcu_dynticks_task_enter();
   784	
   785		/*
   786		 * It is illegal to enter an extended quiescent state while
   787		 * in an RCU read-side critical section.
   788		 */
   789		RCU_LOCKDEP_WARN(lock_is_held(&rcu_lock_map),
   790				 "Illegal idle entry in RCU read-side critical section.");
   791		RCU_LOCKDEP_WARN(lock_is_held(&rcu_bh_lock_map),
   792				 "Illegal idle entry in RCU-bh read-side critical section.");
   793		RCU_LOCKDEP_WARN(lock_is_held(&rcu_sched_lock_map),
   794				 "Illegal idle entry in RCU-sched read-side critical section.");
   795	}
   796	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (34831 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ