All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
Date: Sat, 06 Feb 2021 02:00:26 +0800	[thread overview]
Message-ID: <202102060222.IDMOH5KX-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Alex Shi <alex.shi@linux.alibaba.com>
CC: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   61556703b610a104de324e4f061dc6cf7b218b46
commit: b6769834aac1d467fa1c71277d15688efcbb4d76 mm/thp: narrow lru locking
date:   7 weeks ago
:::::: branch date: 2 days ago
:::::: commit date: 7 weeks ago
config: arm64-randconfig-s032-20210205 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-215-g0fb77bb6-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6769834aac1d467fa1c71277d15688efcbb4d76
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout b6769834aac1d467fa1c71277d15688efcbb4d76
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

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


"sparse warnings: (new ones prefixed by >>)"
   mm/huge_memory.c:1640:20: sparse: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
   mm/huge_memory.c:1677:28: sparse: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock
   mm/huge_memory.c:1787:28: sparse: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock
   mm/huge_memory.c:1891:20: sparse: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock
   mm/huge_memory.c:1901:12: sparse: sparse: context imbalance in '__pmd_trans_huge_lock' - wrong count at exit
   mm/huge_memory.c: note: in included file (through include/linux/irqflags.h, include/linux/spinlock.h, include/linux/mmzone.h, ...):
>> arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
>> arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in 'split_huge_page_to_list' - different lock contexts for basic block

vim +/__split_huge_page +37 arch/arm64/include/asm/irqflags.h

fb9bd7d6df81dd Marc Zyngier   2012-03-05  12  
65be7a1b799f11 James Morse    2017-11-02  13  /*
65be7a1b799f11 James Morse    2017-11-02  14   * Aarch64 has flags for masking: Debug, Asynchronous (serror), Interrupts and
65be7a1b799f11 James Morse    2017-11-02  15   * FIQ exceptions, in the 'daif' register. We mask and unmask them in 'dai'
65be7a1b799f11 James Morse    2017-11-02  16   * order:
65be7a1b799f11 James Morse    2017-11-02  17   * Masking debug exceptions causes all other exceptions to be masked too/
65be7a1b799f11 James Morse    2017-11-02  18   * Masking SError masks irq, but not debug exceptions. Masking irqs has no
65be7a1b799f11 James Morse    2017-11-02  19   * side effects for other flags. Keeping to this order makes it easier for
65be7a1b799f11 James Morse    2017-11-02  20   * entry.S to know which exceptions should be unmasked.
65be7a1b799f11 James Morse    2017-11-02  21   *
65be7a1b799f11 James Morse    2017-11-02  22   * FIQ is never expected, but we mask it when we disable debug exceptions, and
65be7a1b799f11 James Morse    2017-11-02  23   * unmask it at all other times.
65be7a1b799f11 James Morse    2017-11-02  24   */
65be7a1b799f11 James Morse    2017-11-02  25  
fb9bd7d6df81dd Marc Zyngier   2012-03-05  26  /*
fb9bd7d6df81dd Marc Zyngier   2012-03-05  27   * CPU interrupt mask handling.
fb9bd7d6df81dd Marc Zyngier   2012-03-05  28   */
fb9bd7d6df81dd Marc Zyngier   2012-03-05  29  static inline void arch_local_irq_enable(void)
fb9bd7d6df81dd Marc Zyngier   2012-03-05  30  {
48ce8f80f5901f Julien Thierry 2019-06-11  31  	if (system_has_prio_mask_debugging()) {
48ce8f80f5901f Julien Thierry 2019-06-11  32  		u32 pmr = read_sysreg_s(SYS_ICC_PMR_EL1);
48ce8f80f5901f Julien Thierry 2019-06-11  33  
48ce8f80f5901f Julien Thierry 2019-06-11  34  		WARN_ON_ONCE(pmr != GIC_PRIO_IRQON && pmr != GIC_PRIO_IRQOFF);
48ce8f80f5901f Julien Thierry 2019-06-11  35  	}
48ce8f80f5901f Julien Thierry 2019-06-11  36  
4a503217ce37e1 Julien Thierry 2019-01-31 @37  	asm volatile(ALTERNATIVE(
f226650494c6aa Marc Zyngier   2019-10-02  38  		"msr	daifclr, #2		// arch_local_irq_enable",
f226650494c6aa Marc Zyngier   2019-10-02  39  		__msr_s(SYS_ICC_PMR_EL1, "%0"),
4a503217ce37e1 Julien Thierry 2019-01-31  40  		ARM64_HAS_IRQ_PRIO_MASKING)
fb9bd7d6df81dd Marc Zyngier   2012-03-05  41  		:
a80554fc36ba41 Julien Thierry 2019-02-08  42  		: "r" ((unsigned long) GIC_PRIO_IRQON)
fb9bd7d6df81dd Marc Zyngier   2012-03-05  43  		: "memory");
f226650494c6aa Marc Zyngier   2019-10-02  44  
f226650494c6aa Marc Zyngier   2019-10-02  45  	pmr_sync();
fb9bd7d6df81dd Marc Zyngier   2012-03-05  46  }
fb9bd7d6df81dd Marc Zyngier   2012-03-05  47  

:::::: The code at line 37 was first introduced by commit
:::::: 4a503217ce37e1f4f3d9b681bbcbbac103776bf1 arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking

:::::: TO: Julien Thierry <julien.thierry@arm.com>
:::::: CC: Catalin Marinas <catalin.marinas@arm.com>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39687 bytes --]

             reply	other threads:[~2021-02-05 18:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-05 18:00 kernel test robot [this message]
2021-07-02 20:17 arch/arm64/include/asm/irqflags.h:37:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block 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=202102060222.IDMOH5KX-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.