[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201705100102.8J6INEBL%fengguang.wu@intel.com>
Date: Wed, 10 May 2017 01:13:11 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: kbuild-all@...org, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...nel.org>,
Logan Gunthorpe <logang@...tatee.com>
Subject: include/linux/page-flags.h:144:27: sparse: context imbalance in
'hugetlb_cow' - unexpected unlock
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2868b2513aa732a99ea4a0a6bf10dc93c1f3dac2
commit: 71389703839ebe9cb426c72d5f0bd549592e583c mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash
date: 8 days ago
reproduce:
# apt-get install sparse
git checkout 71389703839ebe9cb426c72d5f0bd549592e583c
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
include/linux/spinlock_api_smp.h:151:27: sparse: context imbalance in 'gather_surplus_pages' - unexpected unlock
>> include/linux/page-flags.h:144:27: sparse: context imbalance in 'hugetlb_cow' - unexpected unlock
mm/hugetlb.c:4159:25: sparse: context imbalance in 'follow_hugetlb_page' - different lock contexts for basic block
vim +/hugetlb_cow +144 include/linux/page-flags.h
d8ac3dd4 Jennifer Herbert 2015-01-05 128 PG_foreign = PG_owner_priv_1,
8a38082d Andy Whitcroft 2008-07-23 129
9023cb7e Andy Whitcroft 2008-07-23 130 /* SLOB */
9023cb7e Andy Whitcroft 2008-07-23 131 PG_slob_free = PG_private,
53f9263b Kirill A. Shutemov 2016-01-15 132
53f9263b Kirill A. Shutemov 2016-01-15 133 /* Compound pages. Stored in first tail page's flags */
53f9263b Kirill A. Shutemov 2016-01-15 134 PG_double_map = PG_private_2,
bda807d4 Minchan Kim 2016-07-26 135
bda807d4 Minchan Kim 2016-07-26 136 /* non-lru isolated movable page */
bda807d4 Minchan Kim 2016-07-26 137 PG_isolated = PG_reclaim,
e2683181 Christoph Lameter 2008-04-28 138 };
^1da177e Linus Torvalds 2005-04-16 139
9223b419 Christoph Lameter 2008-04-28 140 #ifndef __GENERATING_BOUNDS_H
9223b419 Christoph Lameter 2008-04-28 141
0e6d31a7 Kirill A. Shutemov 2016-01-15 142 struct page; /* forward declaration */
0e6d31a7 Kirill A. Shutemov 2016-01-15 143
0e6d31a7 Kirill A. Shutemov 2016-01-15 @144 static inline struct page *compound_head(struct page *page)
0e6d31a7 Kirill A. Shutemov 2016-01-15 145 {
0e6d31a7 Kirill A. Shutemov 2016-01-15 146 unsigned long head = READ_ONCE(page->compound_head);
0e6d31a7 Kirill A. Shutemov 2016-01-15 147
0e6d31a7 Kirill A. Shutemov 2016-01-15 148 if (unlikely(head & 1))
0e6d31a7 Kirill A. Shutemov 2016-01-15 149 return (struct page *) (head - 1);
0e6d31a7 Kirill A. Shutemov 2016-01-15 150 return page;
0e6d31a7 Kirill A. Shutemov 2016-01-15 151 }
0e6d31a7 Kirill A. Shutemov 2016-01-15 152
:::::: The code at line 144 was first introduced by commit
:::::: 0e6d31a7336f41ef0375f5398c79e54de8e219b6 page-flags: move code around
:::::: TO: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
:::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Powered by blists - more mailing lists