oe-kbuild.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]
@ 2022-12-05 10:52 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-12-05 10:52 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "low confidence static check warning: arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Youling Tang <tangyouling@loongson.cn>
CC: Huacai Chen <chenhuacai@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   76dcd734eca23168cb008912c0f69ff408905235
commit: 4e62d1d86585e1b62b4f96ee586881dd45a443dc LoongArch: Add kdump support
date:   8 weeks ago
:::::: branch date: 12 hours ago
:::::: commit date: 8 weeks ago
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 4e62d1d86585e1b62b4f96ee586881dd45a443dc
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]
    unsigned long *sp = (unsigned long *)regs->regs[3];
                                         ^
   arch/loongarch/kernel/traps.c:250:6: note: Assuming that condition 'regs' is not redundant
   
        ^
   arch/loongarch/kernel/traps.c:244:17: note: Calling function 'show_registers', 1st argument 'regs' value is 0
   
                   ^
   arch/loongarch/kernel/traps.c:221:17: note: Calling function show_stacktrace, 2nd argument is null
    show_stacktrace(current, regs, KERN_DEFAULT, user_mode(regs));
                   ^
   arch/loongarch/kernel/traps.c:93:39: note: Dereferencing argument regs that is null
    unsigned long *sp = (unsigned long *)regs->regs[3];
                                         ^

vim +93 arch/loongarch/kernel/traps.c

0603839b18f4fb Huacai Chen 2022-05-31   86  
0603839b18f4fb Huacai Chen 2022-05-31   87  static void show_stacktrace(struct task_struct *task,
0603839b18f4fb Huacai Chen 2022-05-31   88  	const struct pt_regs *regs, const char *loglvl, bool user)
0603839b18f4fb Huacai Chen 2022-05-31   89  {
0603839b18f4fb Huacai Chen 2022-05-31   90  	int i;
0603839b18f4fb Huacai Chen 2022-05-31   91  	const int field = 2 * sizeof(unsigned long);
0603839b18f4fb Huacai Chen 2022-05-31   92  	unsigned long stackdata;
0603839b18f4fb Huacai Chen 2022-05-31  @93  	unsigned long *sp = (unsigned long *)regs->regs[3];
0603839b18f4fb Huacai Chen 2022-05-31   94  
0603839b18f4fb Huacai Chen 2022-05-31   95  	printk("%sStack :", loglvl);
0603839b18f4fb Huacai Chen 2022-05-31   96  	i = 0;
0603839b18f4fb Huacai Chen 2022-05-31   97  	while ((unsigned long) sp & (PAGE_SIZE - 1)) {
0603839b18f4fb Huacai Chen 2022-05-31   98  		if (i && ((i % (64 / field)) == 0)) {
0603839b18f4fb Huacai Chen 2022-05-31   99  			pr_cont("\n");
0603839b18f4fb Huacai Chen 2022-05-31  100  			printk("%s       ", loglvl);
0603839b18f4fb Huacai Chen 2022-05-31  101  		}
0603839b18f4fb Huacai Chen 2022-05-31  102  		if (i > 39) {
0603839b18f4fb Huacai Chen 2022-05-31  103  			pr_cont(" ...");
0603839b18f4fb Huacai Chen 2022-05-31  104  			break;
0603839b18f4fb Huacai Chen 2022-05-31  105  		}
0603839b18f4fb Huacai Chen 2022-05-31  106  
0603839b18f4fb Huacai Chen 2022-05-31  107  		if (__get_addr(&stackdata, sp++, user)) {
0603839b18f4fb Huacai Chen 2022-05-31  108  			pr_cont(" (Bad stack address)");
0603839b18f4fb Huacai Chen 2022-05-31  109  			break;
0603839b18f4fb Huacai Chen 2022-05-31  110  		}
0603839b18f4fb Huacai Chen 2022-05-31  111  
0603839b18f4fb Huacai Chen 2022-05-31  112  		pr_cont(" %0*lx", field, stackdata);
0603839b18f4fb Huacai Chen 2022-05-31  113  		i++;
0603839b18f4fb Huacai Chen 2022-05-31  114  	}
0603839b18f4fb Huacai Chen 2022-05-31  115  	pr_cont("\n");
0603839b18f4fb Huacai Chen 2022-05-31  116  	show_backtrace(task, regs, loglvl, user);
0603839b18f4fb Huacai Chen 2022-05-31  117  }
0603839b18f4fb Huacai Chen 2022-05-31  118  

:::::: The code at line 93 was first introduced by commit
:::::: 0603839b18f4fb3bffa82515efcf5b02084505ef LoongArch: Add exception/interrupt handling

:::::: TO: Huacai Chen <chenhuacai@loongson.cn>
:::::: CC: Huacai Chen <chenhuacai@loongson.cn>

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

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

* arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]
@ 2023-01-29 16:25 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2023-01-29 16:25 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "low confidence static check warning: arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Youling Tang <tangyouling@loongson.cn>
CC: Huacai Chen <chenhuacai@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c96618275234ad03d44eafe9f8844305bb44fda4
commit: 4e62d1d86585e1b62b4f96ee586881dd45a443dc LoongArch: Add kdump support
date:   4 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 4 months ago
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 4e62d1d86585e1b62b4f96ee586881dd45a443dc
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> arch/loongarch/mm/tlb.c:222:30: warning: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck]
    pwctl0 = pte_i | pte_w << 5 | pmd_i << 10 | pmd_w << 15 | pud_i << 20 | pud_w << 25;
                                ^
--
>> drivers/firmware/efi/efi.c:123:44: warning: Parameter 'kobj' can be declared as pointer to const [constParameter]
   static ssize_t systab_show(struct kobject *kobj,
                                              ^
--
>> arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer]
    unsigned long *sp = (unsigned long *)regs->regs[3];
                                         ^
   arch/loongarch/kernel/traps.c:250:6: note: Assuming that condition 'regs' is not redundant
   
        ^
   arch/loongarch/kernel/traps.c:244:17: note: Calling function 'show_registers', 1st argument 'regs' value is 0
   
                   ^
   arch/loongarch/kernel/traps.c:221:17: note: Calling function show_stacktrace, 2nd argument is null
    show_stacktrace(current, regs, KERN_DEFAULT, user_mode(regs));
                   ^
   arch/loongarch/kernel/traps.c:93:39: note: Dereferencing argument regs that is null
    unsigned long *sp = (unsigned long *)regs->regs[3];
                                         ^

vim +93 arch/loongarch/kernel/traps.c

0603839b18f4fb Huacai Chen 2022-05-31   86  
0603839b18f4fb Huacai Chen 2022-05-31   87  static void show_stacktrace(struct task_struct *task,
0603839b18f4fb Huacai Chen 2022-05-31   88  	const struct pt_regs *regs, const char *loglvl, bool user)
0603839b18f4fb Huacai Chen 2022-05-31   89  {
0603839b18f4fb Huacai Chen 2022-05-31   90  	int i;
0603839b18f4fb Huacai Chen 2022-05-31   91  	const int field = 2 * sizeof(unsigned long);
0603839b18f4fb Huacai Chen 2022-05-31   92  	unsigned long stackdata;
0603839b18f4fb Huacai Chen 2022-05-31  @93  	unsigned long *sp = (unsigned long *)regs->regs[3];
0603839b18f4fb Huacai Chen 2022-05-31   94  
0603839b18f4fb Huacai Chen 2022-05-31   95  	printk("%sStack :", loglvl);
0603839b18f4fb Huacai Chen 2022-05-31   96  	i = 0;
0603839b18f4fb Huacai Chen 2022-05-31   97  	while ((unsigned long) sp & (PAGE_SIZE - 1)) {
0603839b18f4fb Huacai Chen 2022-05-31   98  		if (i && ((i % (64 / field)) == 0)) {
0603839b18f4fb Huacai Chen 2022-05-31   99  			pr_cont("\n");
0603839b18f4fb Huacai Chen 2022-05-31  100  			printk("%s       ", loglvl);
0603839b18f4fb Huacai Chen 2022-05-31  101  		}
0603839b18f4fb Huacai Chen 2022-05-31  102  		if (i > 39) {
0603839b18f4fb Huacai Chen 2022-05-31  103  			pr_cont(" ...");
0603839b18f4fb Huacai Chen 2022-05-31  104  			break;
0603839b18f4fb Huacai Chen 2022-05-31  105  		}
0603839b18f4fb Huacai Chen 2022-05-31  106  
0603839b18f4fb Huacai Chen 2022-05-31  107  		if (__get_addr(&stackdata, sp++, user)) {
0603839b18f4fb Huacai Chen 2022-05-31  108  			pr_cont(" (Bad stack address)");
0603839b18f4fb Huacai Chen 2022-05-31  109  			break;
0603839b18f4fb Huacai Chen 2022-05-31  110  		}
0603839b18f4fb Huacai Chen 2022-05-31  111  
0603839b18f4fb Huacai Chen 2022-05-31  112  		pr_cont(" %0*lx", field, stackdata);
0603839b18f4fb Huacai Chen 2022-05-31  113  		i++;
0603839b18f4fb Huacai Chen 2022-05-31  114  	}
0603839b18f4fb Huacai Chen 2022-05-31  115  	pr_cont("\n");
0603839b18f4fb Huacai Chen 2022-05-31  116  	show_backtrace(task, regs, loglvl, user);
0603839b18f4fb Huacai Chen 2022-05-31  117  }
0603839b18f4fb Huacai Chen 2022-05-31  118  

:::::: The code at line 93 was first introduced by commit
:::::: 0603839b18f4fb3bffa82515efcf5b02084505ef LoongArch: Add exception/interrupt handling

:::::: TO: Huacai Chen <chenhuacai@loongson.cn>
:::::: CC: Huacai Chen <chenhuacai@loongson.cn>

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

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

end of thread, other threads:[~2023-01-29 16:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-05 10:52 arch/loongarch/kernel/traps.c:93:39: warning: Null pointer dereference: regs [ctunullpointer] kernel test robot
2023-01-29 16:25 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).