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 --]
next 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.