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: <201608120253.dbL41wPJ%fengguang.wu@intel.com>
Date:	Fri, 12 Aug 2016 02:44:55 +0800
From:	kbuild test robot <fengguang.wu@...el.com>
To:	Johannes Berg <johannes.berg@...el.com>
Cc:	kbuild-all@...org, linux-kernel@...r.kernel.org,
	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Subject: [rcu:rcu/next 28/28] include/linux/compiler.h:536:47: error:
 dereferencing pointer to incomplete type 'struct drm_master'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head:   a1dff3e407c785ab982810d0b14f829aaf3022b6
commit: a1dff3e407c785ab982810d0b14f829aaf3022b6 [28/28] locking/barriers: suppress sparse warnings in lockless_dereference()
config: i386-randconfig-s0-201632 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        git checkout a1dff3e407c785ab982810d0b14f829aaf3022b6
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/linkage.h:4:0,
                    from include/linux/kernel.h:6,
                    from drivers/gpu/drm/drm_fb_helper.c:32:
   drivers/gpu/drm/drm_fb_helper.c: In function 'drm_fb_helper_is_bound':
>> include/linux/compiler.h:536:47: error: dereferencing pointer to incomplete type 'struct drm_master'
     size_t __maybe_unused __size_of_ptr = sizeof(*(p)); \
                                                  ^~~~
>> drivers/gpu/drm/drm_fb_helper.c:467:6: note: in expansion of macro 'lockless_dereference'
     if (lockless_dereference(dev->master))
         ^~~~~~~~~~~~~~~~~~~~

vim +536 include/linux/compiler.h

   530	 * The seemingly unused size_t variable is to validate @p is indeed a pointer
   531	 * type by making sure it can be dereferenced.
   532	 */
   533	#define lockless_dereference(p) \
   534	({ \
   535		typeof(p) _________p1 = READ_ONCE(p); \
 > 536		size_t __maybe_unused __size_of_ptr = sizeof(*(p)); \
   537		smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
   538		(_________p1); \
   539	})

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

Download attachment ".config.gz" of type "application/octet-stream" (34064 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ