All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: arch/mips/kernel/traps.c:128 show_raw_backtrace() error: uninitialized symbol 'addr'.
Date: Thu, 16 Dec 2021 23:37:51 +0800	[thread overview]
Message-ID: <202112162341.INAyp2F6-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 12635 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
CC: Christoph Hellwig <hch@lst.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2b14864acbaaf03d9c01982e243a84632524c3ac
commit: 45deb5faeb9e02951361ceba5ffee721745661c3 MIPS: uaccess: Remove get_fs/set_fs call sites
date:   8 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 8 months ago
config: mips-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162341.INAyp2F6-lkp(a)intel.com/config)
compiler: mips64-linux-gcc (GCC) 11.2.0

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

New smatch warnings:
arch/mips/kernel/traps.c:128 show_raw_backtrace() error: uninitialized symbol 'addr'.
arch/mips/kernel/traps.c:195 show_stacktrace() error: uninitialized symbol 'stackdata'.
arch/mips/kernel/traps.c:240 show_code() error: uninitialized symbol 'insn16'.
arch/mips/kernel/traps.c:247 show_code() error: uninitialized symbol 'insn32'.
arch/mips/kernel/traps.c:1054 do_bp() error: uninitialized symbol 'opcode'.
arch/mips/kernel/traps.c:1132 do_tr() error: uninitialized symbol 'opcode'.

Old smatch warnings:
arch/mips/kernel/traps.c:1996 nmi_exception_handler() warn: ignoring unreachable code.

vim +/addr +128 arch/mips/kernel/traps.c

^1da177e4c3f41 Linus Torvalds      2005-04-16  112  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  113  static void show_raw_backtrace(unsigned long reg29, const char *loglvl,
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  114  			       bool user)
e889d78fd5775d Atsushi Nemoto      2006-07-25  115  {
39b8d5254246ac Ralf Baechle        2008-04-28  116  	unsigned long *sp = (unsigned long *)(reg29 & ~3);
e889d78fd5775d Atsushi Nemoto      2006-07-25  117  	unsigned long addr;
e889d78fd5775d Atsushi Nemoto      2006-07-25  118  
96f0458a96892d Dmitry Safonov      2020-06-08  119  	printk("%sCall Trace:", loglvl);
e889d78fd5775d Atsushi Nemoto      2006-07-25  120  #ifdef CONFIG_KALLSYMS
96f0458a96892d Dmitry Safonov      2020-06-08  121  	printk("%s\n", loglvl);
e889d78fd5775d Atsushi Nemoto      2006-07-25  122  #endif
87151ae39bf555 Franck Bui-Huu      2006-08-03  123  	while (!kstack_end(sp)) {
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  124  		if (__get_addr(&addr, sp++, user)) {
96f0458a96892d Dmitry Safonov      2020-06-08  125  			printk("%s (Bad stack address)", loglvl);
10220c884444a1 Thomas Bogendoerfer 2008-05-12  126  			break;
10220c884444a1 Thomas Bogendoerfer 2008-05-12  127  		}
87151ae39bf555 Franck Bui-Huu      2006-08-03 @128  		if (__kernel_text_address(addr))
96f0458a96892d Dmitry Safonov      2020-06-08  129  			print_ip_sym(loglvl, addr);
e889d78fd5775d Atsushi Nemoto      2006-07-25  130  	}
96f0458a96892d Dmitry Safonov      2020-06-08  131  	printk("%s\n", loglvl);
e889d78fd5775d Atsushi Nemoto      2006-07-25  132  }
e889d78fd5775d Atsushi Nemoto      2006-07-25  133  
f66686f70a2a61 Atsushi Nemoto      2006-07-29  134  #ifdef CONFIG_KALLSYMS
1df0f0ff7e56f6 Atsushi Nemoto      2006-09-26  135  int raw_show_trace;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  136  static int __init set_raw_show_trace(char *str)
f66686f70a2a61 Atsushi Nemoto      2006-07-29  137  {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  138  	raw_show_trace = 1;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  139  	return 1;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  140  }
f66686f70a2a61 Atsushi Nemoto      2006-07-29  141  __setup("raw_show_trace", set_raw_show_trace);
1df0f0ff7e56f6 Atsushi Nemoto      2006-09-26  142  #endif
4d157d5eac29d7 Franck Bui-Huu      2006-08-03  143  
96f0458a96892d Dmitry Safonov      2020-06-08  144  static void show_backtrace(struct task_struct *task, const struct pt_regs *regs,
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  145  			   const char *loglvl, bool user)
f66686f70a2a61 Atsushi Nemoto      2006-07-29  146  {
4d157d5eac29d7 Franck Bui-Huu      2006-08-03  147  	unsigned long sp = regs->regs[29];
4d157d5eac29d7 Franck Bui-Huu      2006-08-03  148  	unsigned long ra = regs->regs[31];
f66686f70a2a61 Atsushi Nemoto      2006-07-29  149  	unsigned long pc = regs->cp0_epc;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  150  
e909be825212da Vincent Wen         2012-07-19  151  	if (!task)
e909be825212da Vincent Wen         2012-07-19  152  		task = current;
e909be825212da Vincent Wen         2012-07-19  153  
81a76d7119f63c James Hogan         2015-12-04  154  	if (raw_show_trace || user_mode(regs) || !__kernel_text_address(pc)) {
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  155  		show_raw_backtrace(sp, loglvl, user);
f66686f70a2a61 Atsushi Nemoto      2006-07-29  156  		return;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  157  	}
96f0458a96892d Dmitry Safonov      2020-06-08  158  	printk("%sCall Trace:\n", loglvl);
4d157d5eac29d7 Franck Bui-Huu      2006-08-03  159  	do {
96f0458a96892d Dmitry Safonov      2020-06-08  160  		print_ip_sym(loglvl, pc);
1924600cdb3143 Atsushi Nemoto      2006-09-29  161  		pc = unwind_stack(task, &sp, pc, &ra);
4d157d5eac29d7 Franck Bui-Huu      2006-08-03  162  	} while (pc);
bcf084de5d429c Matt Redfearn       2016-10-19  163  	pr_cont("\n");
f66686f70a2a61 Atsushi Nemoto      2006-07-29  164  }
f66686f70a2a61 Atsushi Nemoto      2006-07-29  165  
^1da177e4c3f41 Linus Torvalds      2005-04-16  166  /*
^1da177e4c3f41 Linus Torvalds      2005-04-16  167   * This routine abuses get_user()/put_user() to reference pointers
^1da177e4c3f41 Linus Torvalds      2005-04-16  168   * with at least a bit of error checking ...
^1da177e4c3f41 Linus Torvalds      2005-04-16  169   */
eae23f2c2ac1e4 Ralf Baechle        2007-10-14  170  static void show_stacktrace(struct task_struct *task,
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  171  	const struct pt_regs *regs, const char *loglvl, bool user)
^1da177e4c3f41 Linus Torvalds      2005-04-16  172  {
^1da177e4c3f41 Linus Torvalds      2005-04-16  173  	const int field = 2 * sizeof(unsigned long);
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  174  	unsigned long stackdata;
^1da177e4c3f41 Linus Torvalds      2005-04-16  175  	int i;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  176  	unsigned long *sp = (unsigned long *)regs->regs[29];
^1da177e4c3f41 Linus Torvalds      2005-04-16  177  
96f0458a96892d Dmitry Safonov      2020-06-08  178  	printk("%sStack :", loglvl);
^1da177e4c3f41 Linus Torvalds      2005-04-16  179  	i = 0;
^1da177e4c3f41 Linus Torvalds      2005-04-16  180  	while ((unsigned long) sp & (PAGE_SIZE - 1)) {
fe4e09e7012132 Matt Redfearn       2016-10-19  181  		if (i && ((i % (64 / field)) == 0)) {
fe4e09e7012132 Matt Redfearn       2016-10-19  182  			pr_cont("\n");
96f0458a96892d Dmitry Safonov      2020-06-08  183  			printk("%s       ", loglvl);
fe4e09e7012132 Matt Redfearn       2016-10-19  184  		}
^1da177e4c3f41 Linus Torvalds      2005-04-16  185  		if (i > 39) {
fe4e09e7012132 Matt Redfearn       2016-10-19  186  			pr_cont(" ...");
^1da177e4c3f41 Linus Torvalds      2005-04-16  187  			break;
^1da177e4c3f41 Linus Torvalds      2005-04-16  188  		}
^1da177e4c3f41 Linus Torvalds      2005-04-16  189  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  190  		if (__get_addr(&stackdata, sp++, user)) {
fe4e09e7012132 Matt Redfearn       2016-10-19  191  			pr_cont(" (Bad stack address)");
^1da177e4c3f41 Linus Torvalds      2005-04-16  192  			break;
^1da177e4c3f41 Linus Torvalds      2005-04-16  193  		}
^1da177e4c3f41 Linus Torvalds      2005-04-16  194  
fe4e09e7012132 Matt Redfearn       2016-10-19 @195  		pr_cont(" %0*lx", field, stackdata);
^1da177e4c3f41 Linus Torvalds      2005-04-16  196  		i++;
^1da177e4c3f41 Linus Torvalds      2005-04-16  197  	}
fe4e09e7012132 Matt Redfearn       2016-10-19  198  	pr_cont("\n");
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  199  	show_backtrace(task, regs, loglvl, user);
f66686f70a2a61 Atsushi Nemoto      2006-07-29  200  }
f66686f70a2a61 Atsushi Nemoto      2006-07-29  201  
9cb8f069deeed7 Dmitry Safonov      2020-06-08  202  void show_stack(struct task_struct *task, unsigned long *sp, const char *loglvl)
f66686f70a2a61 Atsushi Nemoto      2006-07-29  203  {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  204  	struct pt_regs regs;
85423636337099 James Hogan         2017-06-29  205  
85423636337099 James Hogan         2017-06-29  206  	regs.cp0_status = KSU_KERNEL;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  207  	if (sp) {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  208  		regs.regs[29] = (unsigned long)sp;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  209  		regs.regs[31] = 0;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  210  		regs.cp0_epc = 0;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  211  	} else {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  212  		if (task && task != current) {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  213  			regs.regs[29] = task->thread.reg29;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  214  			regs.regs[31] = 0;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  215  			regs.cp0_epc = task->thread.reg31;
f66686f70a2a61 Atsushi Nemoto      2006-07-29  216  		} else {
f66686f70a2a61 Atsushi Nemoto      2006-07-29  217  			prepare_frametrace(&regs);
f66686f70a2a61 Atsushi Nemoto      2006-07-29  218  		}
f66686f70a2a61 Atsushi Nemoto      2006-07-29  219  	}
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  220  	show_stacktrace(task, &regs, loglvl, false);
^1da177e4c3f41 Linus Torvalds      2005-04-16  221  }
^1da177e4c3f41 Linus Torvalds      2005-04-16  222  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  223  static void show_code(void *pc, bool user)
^1da177e4c3f41 Linus Torvalds      2005-04-16  224  {
^1da177e4c3f41 Linus Torvalds      2005-04-16  225  	long i;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  226  	unsigned short *pc16 = NULL;
^1da177e4c3f41 Linus Torvalds      2005-04-16  227  
41000c5819ee5a Matt Redfearn       2016-10-19  228  	printk("Code:");
^1da177e4c3f41 Linus Torvalds      2005-04-16  229  
39b8d5254246ac Ralf Baechle        2008-04-28  230  	if ((unsigned long)pc & 1)
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  231  		pc16 = (u16 *)((unsigned long)pc & ~1);
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  232  
^1da177e4c3f41 Linus Torvalds      2005-04-16  233  	for(i = -3 ; i < 6 ; i++) {
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  234  		if (pc16) {
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  235  			u16 insn16;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  236  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  237  			if (__get_inst16(&insn16, pc16 + i, user))
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  238  				goto bad_address;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  239  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01 @240  			pr_cont("%c%04x%c", (i?' ':'<'), insn16, (i?' ':'>'));
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  241  		} else {
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  242  			u32 insn32;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  243  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  244  			if (__get_inst32(&insn32, (u32 *)pc + i, user))
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  245  				goto bad_address;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  246  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01 @247  			pr_cont("%c%08x%c", (i?' ':'<'), insn32, (i?' ':'>'));
^1da177e4c3f41 Linus Torvalds      2005-04-16  248  		}
^1da177e4c3f41 Linus Torvalds      2005-04-16  249  	}
41000c5819ee5a Matt Redfearn       2016-10-19  250  	pr_cont("\n");
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  251  	return;
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  252  
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  253  bad_address:
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01  254  	pr_cont(" (Bad address in epc)\n\n");
^1da177e4c3f41 Linus Torvalds      2005-04-16  255  }
^1da177e4c3f41 Linus Torvalds      2005-04-16  256  

:::::: The code at line 128 was first introduced by commit
:::::: 87151ae39bf5556abe83d69af0be9580c32c501b [MIPS] Miscellaneous cleanup in prologue analysis code

:::::: TO: Franck Bui-Huu <vagabon.xyz@gmail.com>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2021-12-16 15:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16 15:37 kernel test robot [this message]
2022-01-14  2:08 arch/mips/kernel/traps.c:128 show_raw_backtrace() error: uninitialized symbol 'addr' kernel test robot
2022-01-24 16:54 kernel test robot
2022-02-21 10:33 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202112162341.INAyp2F6-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.