CC: [email protected]
CC: [email protected]
TO: Thomas Bogendoerfer <[email protected]>
CC: Christoph Hellwig <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   fb3b0673b7d5b477ed104949450cd511337ba3c6
commit: 45deb5faeb9e02951361ceba5ffee721745661c3 MIPS: uaccess: Remove 
get_fs/set_fs call sites
date:   9 months ago
:::::: branch date: 7 hours ago
:::::: commit date: 9 months ago
config: mips-randconfig-m031-20220113 
(https://download.01.org/0day-ci/archive/20220114/[email protected]/config)
compiler: mips64el-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

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 <[email protected]>
:::::: CC: Ralf Baechle <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to