All of lore.kernel.org
 help / color / mirror / Atom feed
* [tglx-devel:x86/entry 100/140] arch/x86/kernel/traps.c:721:16: warning: Using argument dr6 that points at uninitialized variable dr6 [ctuuninitvar]
@ 2020-05-05 21:39 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-05 21:39 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Thomas Gleixner <tglx@linutronix.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git x86/entry
head:   e6d36eed49b863bbe393e3c07cae737cd9c475e3
commit: e41ec789a83eaaa28efb7b897a48cb565e9aa067 [100/140] x86/db: Split out dr6/7 handling
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)

>> arch/x86/kernel/traps.c:721:16: warning: Using argument dr6 that points at uninitialized variable dr6 [ctuuninitvar]
    get_debugreg(*dr6, 6);
                  ^
   arch/x86/kernel/traps.c:763:13: note: Calling function debug_enter, 1st argument is uninitialized
    debug_enter(&dr6, &dr7);
               ^
   arch/x86/kernel/traps.c:721:16: note: Using argument dr6
    get_debugreg(*dr6, 6);
                  ^
>> arch/x86/kernel/traps.c:707:16: warning: Using argument dr7 that points at uninitialized variable dr7 [ctuuninitvar]
    get_debugreg(*dr7, 6);
                  ^
   arch/x86/kernel/traps.c:763:13: note: Calling function debug_enter, 2nd argument is uninitialized
    debug_enter(&dr6, &dr7);
               ^
   arch/x86/kernel/traps.c:707:16: note: Using argument dr7
    get_debugreg(*dr7, 6);
                  ^

# https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/commit/?id=e41ec789a83eaaa28efb7b897a48cb565e9aa067
git remote add tglx-devel https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git
git remote update tglx-devel
git checkout e41ec789a83eaaa28efb7b897a48cb565e9aa067
vim +721 arch/x86/kernel/traps.c

f2b375756c839ff Andy Lutomirski 2016-03-09  693  
e41ec789a83eaaa Peter Zijlstra  2020-04-06  694  static __always_inline void debug_enter(unsigned long *dr6, unsigned long *dr7)
e41ec789a83eaaa Peter Zijlstra  2020-04-06  695  {
e41ec789a83eaaa Peter Zijlstra  2020-04-06  696  	/*
e41ec789a83eaaa Peter Zijlstra  2020-04-06  697  	 * Disable breakpoints during exception handling; recursive exceptions
e41ec789a83eaaa Peter Zijlstra  2020-04-06  698  	 * are exceedingly 'fun'.
e41ec789a83eaaa Peter Zijlstra  2020-04-06  699  	 *
e41ec789a83eaaa Peter Zijlstra  2020-04-06  700  	 * Since this function is NOKPROBE, and that also applies to
e41ec789a83eaaa Peter Zijlstra  2020-04-06  701  	 * HW_BREAKPOINT_X, we can't hit a breakpoint before this (XXX except a
e41ec789a83eaaa Peter Zijlstra  2020-04-06  702  	 * HW_BREAKPOINT_W on our stack)
e41ec789a83eaaa Peter Zijlstra  2020-04-06  703  	 *
e41ec789a83eaaa Peter Zijlstra  2020-04-06  704  	 * Entry text is excluded for HW_BP_X and cpu_entry_area, which
e41ec789a83eaaa Peter Zijlstra  2020-04-06  705  	 * includes the entry stack is excluded for everything.
e41ec789a83eaaa Peter Zijlstra  2020-04-06  706  	 */
e41ec789a83eaaa Peter Zijlstra  2020-04-06 @707  	get_debugreg(*dr7, 6);
e41ec789a83eaaa Peter Zijlstra  2020-04-06  708  	set_debugreg(0, 7);
e41ec789a83eaaa Peter Zijlstra  2020-04-06  709  
e41ec789a83eaaa Peter Zijlstra  2020-04-06  710  	/*
e41ec789a83eaaa Peter Zijlstra  2020-04-06  711  	 * The Intel SDM says:
e41ec789a83eaaa Peter Zijlstra  2020-04-06  712  	 *
e41ec789a83eaaa Peter Zijlstra  2020-04-06  713  	 *   Certain debug exceptions may clear bits 0-3. The remaining
e41ec789a83eaaa Peter Zijlstra  2020-04-06  714  	 *   contents of the DR6 register are never cleared by the
e41ec789a83eaaa Peter Zijlstra  2020-04-06  715  	 *   processor. To avoid confusion in identifying debug
e41ec789a83eaaa Peter Zijlstra  2020-04-06  716  	 *   exceptions, debug handlers should clear the register before
e41ec789a83eaaa Peter Zijlstra  2020-04-06  717  	 *   returning to the interrupted task.
e41ec789a83eaaa Peter Zijlstra  2020-04-06  718  	 *
e41ec789a83eaaa Peter Zijlstra  2020-04-06  719  	 * Keep it simple: clear DR6 immediately.
e41ec789a83eaaa Peter Zijlstra  2020-04-06  720  	 */
e41ec789a83eaaa Peter Zijlstra  2020-04-06 @721  	get_debugreg(*dr6, 6);
e41ec789a83eaaa Peter Zijlstra  2020-04-06  722  	set_debugreg(0, 6);
e41ec789a83eaaa Peter Zijlstra  2020-04-06  723  	/* Filter out all the reserved bits which are preset to 1 */
e41ec789a83eaaa Peter Zijlstra  2020-04-06  724  	*dr6 &= ~DR6_RESERVED;
e41ec789a83eaaa Peter Zijlstra  2020-04-06  725  }
e41ec789a83eaaa Peter Zijlstra  2020-04-06  726  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-05 21:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-05 21:39 [tglx-devel:x86/entry 100/140] arch/x86/kernel/traps.c:721:16: warning: Using argument dr6 that points at uninitialized variable dr6 [ctuuninitvar] kbuild test robot

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.