lkml.org 
[lkml]   [2017]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectinclude/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@linux.intel.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

\
 
 \ /
  Last update: 2017-05-10 21:18    [W:0.066 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site