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(®s);
f66686f70a2a61 Atsushi Nemoto 2006-07-29 218 }
f66686f70a2a61 Atsushi Nemoto 2006-07-29 219 }
45deb5faeb9e02 Thomas Bogendoerfer 2021-04-01 220 show_stacktrace(task, ®s, 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
next 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.