CC: [email protected]
CC: [email protected]
TO: Sebastian Andrzej Siewior <[email protected]>
CC: Thomas Gleixner <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   09162bc32c880a791c6c0668ce0745cf7958f576
commit: a6d996cbd38b42341ad3fce74506b9fdc280e395 x86/alternatives: Acquire pte 
lock with interrupts enabled
date:   3 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-s022-20201115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-107-gaf3512a6-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a6d996cbd38b42341ad3fce74506b9fdc280e395
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout a6d996cbd38b42341ad3fce74506b9fdc280e395
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


"sparse warnings: (new ones prefixed by >>)"
   arch/x86/kernel/alternative.c: note: in included file (through 
arch/x86/include/asm/msr.h, arch/x86/include/asm/processor.h, 
arch/x86/include/asm/cpufeature.h, ...):
>> arch/x86/include/asm/paravirt.h:765:16: sparse: sparse: context imbalance in 
>> '__text_poke' - different lock contexts for basic block

vim +/__text_poke +765 arch/x86/include/asm/paravirt.h

2e47d3e6c35bb5b include/asm-x86/paravirt.h      Glauber de Oliveira Costa 
2008-01-30  724  
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  725  /*
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  726   * Generate a thunk around a function which saves all 
caller-save
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  727   * registers except for the return value.  This allows C 
functions to
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  728   * be called from assembler code where fewer than normal 
registers are
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  729   * available.  It may also help code generation around calls 
from C
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  730   * code if the common case doesn't use many registers.
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  731   *
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  732   * When a callee is wrapped in a thunk, the caller can assume 
that all
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  733   * arg regs and all scratch registers are preserved across the
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  734   * call. The return value in rax/eax will not be saved, even 
for void
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  735   * functions.
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  736   */
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  737  #define PV_THUNK_NAME(func) "__raw_callee_save_" #func
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  738  #define PV_CALLEE_SAVE_REGS_THUNK(func)                        
              \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  739       extern typeof(func) __raw_callee_save_##func;             
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  740                                                                 
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  741       asm(".pushsection .text;"                                 
      \
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  742           ".globl " PV_THUNK_NAME(func) ";"                     
      \
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  743           ".type " PV_THUNK_NAME(func) ", @function;"           
      \
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  744           PV_THUNK_NAME(func) ":"                               
      \
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  745           FRAME_BEGIN                                           
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  746           PV_SAVE_ALL_CALLER_REGS                               
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  747           "call " #func ";"                                     
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  748           PV_RESTORE_ALL_CALLER_REGS                            
      \
87b240cbe3e51bf arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2016-01-21  749           FRAME_END                                             
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  750           "ret;"                                                
      \
083db6764821996 arch/x86/include/asm/paravirt.h Josh Poimboeuf            
2019-07-17  751           ".size " PV_THUNK_NAME(func) ", .-" 
PV_THUNK_NAME(func) ";" \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  752           ".popsection")
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  753  
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  754  /* Get a reference to a callee-save function */
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  755  #define PV_CALLEE_SAVE(func)                                   
      \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  756       ((struct paravirt_callee_save) { __raw_callee_save_##func 
})
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  757  
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  758  /* Promise that "func" already uses the right calling 
convention */
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  759  #define __PV_IS_CALLEE_SAVE(func)                    \
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  760       ((struct paravirt_callee_save) { func })
ecb93d1ccd0aac6 arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       
2009-01-28  761  
6da63eb241a05b0 arch/x86/include/asm/paravirt.h Juergen Gross             
2018-08-28  762  #ifdef CONFIG_PARAVIRT_XXL
b5908548537ccd3 arch/x86/include/asm/paravirt.h Steven Rostedt            
2010-11-10  763  static inline notrace unsigned long arch_local_save_flags(void)
139ec7c416248b9 include/asm-i386/paravirt.h     Rusty Russell             
2006-12-07  764  {
5c83511bdb9832c arch/x86/include/asm/paravirt.h Juergen Gross             
2018-08-28 @765       return PVOP_CALLEE0(unsigned long, irq.save_fl);
139ec7c416248b9 include/asm-i386/paravirt.h     Rusty Russell             
2006-12-07  766  }
139ec7c416248b9 include/asm-i386/paravirt.h     Rusty Russell             
2006-12-07  767  

:::::: The code at line 765 was first introduced by commit
:::::: 5c83511bdb9832c86be20fb86b783356e2f58062 x86/paravirt: Use a single ops 
structure

:::::: TO: Juergen Gross <[email protected]>
:::::: CC: Thomas Gleixner <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to