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>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202412211700.9lWP3KmT-lkp@intel.com>
Date: Sat, 21 Dec 2024 18:01:05 +0800
From: kernel test robot <lkp@...el.com>
To: FUJITA Tomonori <fujita.tomonori@...il.com>,
	linux-kernel@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, Boqun Feng <boqun.feng@...il.com>,
	rust-for-linux@...r.kernel.org, netdev@...r.kernel.org,
	andrew@...n.ch, hkallweit1@...il.com, tmgross@...ch.edu,
	ojeda@...nel.org, alex.gaynor@...il.com, gary@...yguo.net,
	bjorn3_gh@...tonmail.com, benno.lossin@...ton.me,
	a.hindborg@...sung.com, aliceryhl@...gle.com,
	anna-maria@...utronix.de, frederic@...nel.org, tglx@...utronix.de,
	arnd@...db.de, jstultz@...gle.com, sboyd@...nel.org,
	mingo@...hat.com, peterz@...radead.org, juri.lelli@...hat.com,
	vincent.guittot@...aro.org, dietmar.eggemann@....com,
	rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
	vschneid@...hat.com
Subject: Re: [PATCH v7 6/7] rust: Add read_poll_timeout functions

Hi FUJITA,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 0c5928deada15a8d075516e6e0d9ee19011bb000]

url:    https://github.com/intel-lab-lkp/linux/commits/FUJITA-Tomonori/rust-time-Add-PartialEq-Eq-PartialOrd-Ord-trait-to-Ktime/20241220-142722
base:   0c5928deada15a8d075516e6e0d9ee19011bb000
patch link:    https://lore.kernel.org/r/20241220061853.2782878-7-fujita.tomonori%40gmail.com
patch subject: [PATCH v7 6/7] rust: Add read_poll_timeout functions
config: microblaze-randconfig-r131-20241221 (https://download.01.org/0day-ci/archive/20241221/202412211700.9lWP3KmT-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241221/202412211700.9lWP3KmT-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412211700.9lWP3KmT-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   kernel/sched/core.c:1080:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:1080:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:1080:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:2179:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *donor @@     got struct task_struct [noderef] __rcu *donor @@
   kernel/sched/core.c:2179:39: sparse:     expected struct task_struct *donor
   kernel/sched/core.c:2179:39: sparse:     got struct task_struct [noderef] __rcu *donor
   kernel/sched/core.c:2190:65: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *tsk @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:2190:65: sparse:     expected struct task_struct *tsk
   kernel/sched/core.c:2190:65: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:5641:15: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *donor @@     got struct task_struct [noderef] __rcu *donor @@
   kernel/sched/core.c:5641:15: sparse:     expected struct task_struct *donor
   kernel/sched/core.c:5641:15: sparse:     got struct task_struct [noderef] __rcu *donor
   kernel/sched/core.c:6653:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *prev @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:6653:14: sparse:     expected struct task_struct *prev
   kernel/sched/core.c:6653:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:7199:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:7199:17: sparse:    struct task_struct *
   kernel/sched/core.c:7199:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:8901:16: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct task_struct * @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:8901:16: sparse:     expected struct task_struct *
   kernel/sched/core.c:8901:16: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:10116:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:10116:25: sparse:     expected struct task_struct *p
   kernel/sched/core.c:10116:25: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:1490:17: sparse: sparse: self-comparison always evaluates to true
   kernel/sched/core.c:591:6: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit
   kernel/sched/sched.h:1490:17: sparse: sparse: self-comparison always evaluates to true
   kernel/sched/core.c:624:23: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit
   kernel/sched/core.c:640:6: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock
   kernel/sched/core.c:677:21: sparse: sparse: self-comparison always evaluates to true
   kernel/sched/core.c:678:36: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
   kernel/sched/core.c:718:21: sparse: sparse: self-comparison always evaluates to true
   kernel/sched/core.c:719:36: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit
   kernel/sched/sched.h:2258:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2258:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2258:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2258:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2269:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2269:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2269:26: sparse:    struct task_struct *
   kernel/sched/sched.h:2481:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2481:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2481:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2481:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2481:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2481:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2269:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2269:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2269:26: sparse:    struct task_struct *
   kernel/sched/sched.h:2458:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2458:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2458:9: sparse:    struct task_struct *
>> kernel/sched/core.c:8722:31: sparse: sparse: marked inline, but without a definition

vim +8722 kernel/sched/core.c

  8721	
> 8722	void __might_resched_precision(const char *file, int len, int line, unsigned int offsets)
  8723	{
  8724		/* Ratelimiting timestamp: */
  8725		static unsigned long prev_jiffy;
  8726	
  8727		unsigned long preempt_disable_ip;
  8728	
  8729		/* WARN_ON_ONCE() by default, no rate limit required: */
  8730		rcu_sleep_check();
  8731	
  8732		if ((resched_offsets_ok(offsets) && !irqs_disabled() &&
  8733		     !is_idle_task(current) && !current->non_block_count) ||
  8734		    system_state == SYSTEM_BOOTING || system_state > SYSTEM_RUNNING ||
  8735		    oops_in_progress)
  8736			return;
  8737	
  8738		if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy)
  8739			return;
  8740		prev_jiffy = jiffies;
  8741	
  8742		/* Save this before calling printk(), since that will clobber it: */
  8743		preempt_disable_ip = get_preempt_disable_ip(current);
  8744	
  8745		pr_err("BUG: sleeping function called from invalid context at %.*s:%d\n",
  8746		       len, file, line);
  8747		pr_err("in_atomic(): %d, irqs_disabled(): %d, non_block: %d, pid: %d, name: %s\n",
  8748		       in_atomic(), irqs_disabled(), current->non_block_count,
  8749		       current->pid, current->comm);
  8750		pr_err("preempt_count: %x, expected: %x\n", preempt_count(),
  8751		       offsets & MIGHT_RESCHED_PREEMPT_MASK);
  8752	
  8753		if (IS_ENABLED(CONFIG_PREEMPT_RCU)) {
  8754			pr_err("RCU nest depth: %d, expected: %u\n",
  8755			       rcu_preempt_depth(), offsets >> MIGHT_RESCHED_RCU_SHIFT);
  8756		}
  8757	
  8758		if (task_stack_end_corrupted(current))
  8759			pr_emerg("Thread overran stack, or stack corrupted\n");
  8760	
  8761		debug_show_held_locks(current);
  8762		if (irqs_disabled())
  8763			print_irqtrace_events(current);
  8764	
  8765		print_preempt_disable_ip(offsets & MIGHT_RESCHED_PREEMPT_MASK,
  8766					 preempt_disable_ip);
  8767	
  8768		dump_stack();
  8769		add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
  8770	}
  8771	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ