mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* arch/riscv/kernel/traps.c:48 die() warn: variable dereferenced before check 'regs' (see line 46)
@ 2022-08-11 10:33 Dan Carpenter
  2022-08-11 10:42 ` Xianting Tian
  0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2022-08-11 10:33 UTC (permalink / raw)
  To: kbuild, Xianting Tian
  Cc: lkp, kbuild-all, linux-kernel, Palmer Dabbelt, Guo Ren

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f41445645ab5d172e6090d00c332c335d8dba337
commit: 3f1901110a89b0e2e13adb2ac8d1a7102879ea98 RISC-V: Add fast call path of crash_kexec()
config: riscv-randconfig-m031-20220810 (https://download.01.org/0day-ci/archive/20220811/202208110538.uaLOQmBs-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
arch/riscv/kernel/traps.c:48 die() warn: variable dereferenced before check 'regs' (see line 46)

vim +/regs +48 arch/riscv/kernel/traps.c

76d2a0493a17d4 Palmer Dabbelt    2017-07-10  31  void die(struct pt_regs *regs, const char *str)
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  32  {
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  33  	static int die_counter;
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  34  	int ret;
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  35  
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  36  	oops_enter();
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  37  
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  38  	spin_lock_irq(&die_lock);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  39  	console_verbose();
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  40  	bust_spinlocks(1);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  41  
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  42  	pr_emerg("%s [#%d]\n", str, ++die_counter);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  43  	print_modules();
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  44  	show_regs(regs);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  45  
a4c3733d32a72f Christoph Hellwig 2019-10-28 @46  	ret = notify_die(DIE_OOPS, str, regs, 0, regs->cause, SIGSEGV);
                                                                                                 ^^^^^^^^^^^
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  47  
3f1901110a89b0 Xianting Tian     2022-06-06 @48  	if (regs && kexec_should_crash(current))
                                                            ^^^^

Delete this NULL check.

3f1901110a89b0 Xianting Tian     2022-06-06  49  		crash_kexec(regs);
3f1901110a89b0 Xianting Tian     2022-06-06  50  
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  51  	bust_spinlocks(0);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  52  	add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  53  	spin_unlock_irq(&die_lock);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  54  	oops_exit();
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  55  
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  56  	if (in_interrupt())
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  57  		panic("Fatal exception in interrupt");
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  58  	if (panic_on_oops)
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  59  		panic("Fatal exception");
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  60  	if (ret != NOTIFY_STOP)
0e25498f8cd43c Eric W. Biederman 2021-06-28  61  		make_task_dead(SIGSEGV);
76d2a0493a17d4 Palmer Dabbelt    2017-07-10  62  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-09-21  1:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-11 10:33 arch/riscv/kernel/traps.c:48 die() warn: variable dereferenced before check 'regs' (see line 46) Dan Carpenter
2022-08-11 10:42 ` Xianting Tian
2022-09-20 20:06   ` Palmer Dabbelt
2022-09-21  1:35     ` Xianting Tian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®