lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ