All of lore.kernel.org
 help / color / mirror / Atom feed
* [nvdimm:libnvdimm-pending 284/291] arch/powerpc/include/asm/uaccess.h:336:1: error: expected '=', ',', '; ', 'asm' or '__attribute__' before '{' token
@ 2020-05-19 11:10 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-19 11:10 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 17766 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git libnvdimm-pending
head:   4e2f899e682d1e6c647651bc36bcdba3b3577485
commit: 0b25105d34e381fafc7eb9395007727bbb4661a4 [284/291] x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user,kernel}()
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-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
        git checkout 0b25105d34e381fafc7eb9395007727bbb4661a4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

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

In file included from include/linux/uaccess.h:11,
from include/linux/crypto.h:21,
from include/crypto/hash.h:11,
from include/linux/uio.h:10,
from include/linux/socket.h:8,
from include/linux/compat.h:15,
from arch/powerpc/kernel/asm-offsets.c:14:
>> arch/powerpc/include/asm/uaccess.h:332:1: warning: no previous prototype for 'copy_mc_generic' [-Wmissing-prototypes]
332 | copy_mc_generic(void *to, const void *from, unsigned long size)
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/uaccess.h: In function 'copy_mc_generic':
>> arch/powerpc/include/asm/uaccess.h:336:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
336 | {
| ^
arch/powerpc/include/asm/uaccess.h:343:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
343 | {
| ^
arch/powerpc/include/asm/uaccess.h:359:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
359 | {
| ^
arch/powerpc/include/asm/uaccess.h:372:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
372 | {
| ^
arch/powerpc/include/asm/uaccess.h:408:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
408 | {
| ^
arch/powerpc/include/asm/uaccess.h:435:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
435 | {
| ^
arch/powerpc/include/asm/uaccess.h:447:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
447 | {
| ^
arch/powerpc/include/asm/uaccess.h:459:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
459 | {
| ^
>> arch/powerpc/include/asm/uaccess.h:463:13: error: storage class specified for parameter 'strncpy_from_user'
463 | extern long strncpy_from_user(char *dst, const char __user *src, long count);
|             ^~~~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/uaccess.h:464:26: error: storage class specified for parameter 'strnlen_user'
464 | extern __must_check long strnlen_user(const char __user *str, long n);
|                          ^~~~~~~~~~~~
>> arch/powerpc/include/asm/uaccess.h:466:13: error: storage class specified for parameter '__copy_from_user_flushcache'
466 | extern long __copy_from_user_flushcache(void *dst, const void __user *src,
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/uaccess.h:468:13: error: storage class specified for parameter 'memcpy_page_flushcache'
468 | extern void memcpy_page_flushcache(char *to, struct page *page, size_t offset,
|             ^~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/uaccess.h:472:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
472 | {
| ^
In file included from include/linux/crypto.h:21,
from include/crypto/hash.h:11,
from include/linux/uio.h:10,
from include/linux/socket.h:8,
from include/linux/compat.h:15,
from arch/powerpc/kernel/asm-offsets.c:14:
>> include/linux/uaccess.h:60:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
60 | {
| ^
include/linux/uaccess.h:68:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
68 | {
| ^
include/linux/uaccess.h:90:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
90 | {
| ^
include/linux/uaccess.h:98:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
98 | {
| ^
>> include/linux/uaccess.h:121:1: error: storage class specified for parameter '_copy_from_user'
121 | _copy_from_user(void *, const void __user *, unsigned long);
| ^~~~~~~~~~~~~~~
>> include/linux/uaccess.h:137:1: error: storage class specified for parameter '_copy_to_user'
137 | _copy_to_user(void __user *, const void *, unsigned long);
| ^~~~~~~~~~~~~
include/linux/uaccess.h:142:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
142 | {
| ^
include/linux/uaccess.h:150:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
150 | {
| ^
include/linux/uaccess.h:158:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
158 | {
| ^
include/linux/uaccess.h:176:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
176 | {
| ^
include/linux/uaccess.h:181:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
181 | {
| ^
include/linux/uaccess.h:193:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
193 | {
| ^
include/linux/uaccess.h:203:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
203 | {
| ^
include/linux/uaccess.h:216:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
216 | {
| ^
include/linux/uaccess.h:237:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
237 | {
| ^
>> include/linux/uaccess.h:243:25: error: storage class specified for parameter 'check_zeroed_user'
243 | extern __must_check int check_zeroed_user(const void __user *from, size_t size);
|                         ^~~~~~~~~~~~~~~~~
include/linux/uaccess.h:295:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
295 | {
| ^
>> include/linux/uaccess.h:322:13: error: storage class specified for parameter 'probe_kernel_read'
322 | extern long probe_kernel_read(void *dst, const void *src, size_t size);
|             ^~~~~~~~~~~~~~~~~
>> include/linux/uaccess.h:323:13: error: storage class specified for parameter 'probe_kernel_read_strict'
323 | extern long probe_kernel_read_strict(void *dst, const void *src, size_t size);
|             ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/uaccess.h:324:13: error: storage class specified for parameter '__probe_kernel_read'
324 | extern long __probe_kernel_read(void *dst, const void *src, size_t size);
|             ^~~~~~~~~~~~~~~~~~~
>> include/linux/uaccess.h:335:13: error: storage class specified for parameter 'probe_user_read'
335 | extern long probe_user_read(void *dst, const void __user *src, size_t size);
|             ^~~~~~~~~~~~~~~
>> include/linux/uaccess.h:336:13: error: storage class specified for parameter '__probe_user_read'
336 | extern long __probe_user_read(void *dst, const void __user *src, size_t size);
|             ^~~~~~~~~~~~~~~~~
>> include/linux/uaccess.h:347:21: error: storage class specified for parameter 'probe_kernel_write'
347 | extern long notrace probe_kernel_write(void *dst, const void *src, size_t size);
|                     ^~~~~~~~~~~~~~~~~~
>> include/linux/uaccess.h:347:21: error: 'no_instrument_function' attribute applies only to functions
>> include/linux/uaccess.h:348:21: error: storage class specified for parameter '__probe_kernel_write'
348 | extern long notrace __probe_kernel_write(void *dst, const void *src, size_t size);
|                     ^~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:348:21: error: 'no_instrument_function' attribute applies only to functions
>> include/linux/uaccess.h:359:21: error: storage class specified for parameter 'probe_user_write'
359 | extern long notrace probe_user_write(void __user *dst, const void *src, size_t size);
|                     ^~~~~~~~~~~~~~~~
include/linux/uaccess.h:359:21: error: 'no_instrument_function' attribute applies only to functions
>> include/linux/uaccess.h:360:21: error: storage class specified for parameter '__probe_user_write'
360 | extern long notrace __probe_user_write(void __user *dst, const void *src, size_t size);
|                     ^~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:360:21: error: 'no_instrument_function' attribute applies only to functions
include/linux/uaccess.h:362:13: error: storage class specified for parameter 'strncpy_from_unsafe'
362 | extern long strncpy_from_unsafe(char *dst, const void *unsafe_addr, long count);
|             ^~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:363:13: error: storage class specified for parameter 'strncpy_from_unsafe_strict'
363 | extern long strncpy_from_unsafe_strict(char *dst, const void *unsafe_addr,
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:365:13: error: storage class specified for parameter '__strncpy_from_unsafe'
365 | extern long __strncpy_from_unsafe(char *dst, const void *unsafe_addr, long count);
|             ^~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:366:13: error: storage class specified for parameter 'strncpy_from_unsafe_user'
366 | extern long strncpy_from_unsafe_user(char *dst, const void __user *unsafe_addr,
|             ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:368:13: error: storage class specified for parameter 'strnlen_unsafe_user'
368 | extern long strnlen_unsafe_user(const void __user *unsafe_addr, long count);
|             ^~~~~~~~~~~~~~~~~~~
In file included from include/crypto/hash.h:11,
from include/linux/uio.h:10,
from include/linux/socket.h:8,
from include/linux/compat.h:15,
from arch/powerpc/kernel/asm-offsets.c:14:
include/linux/crypto.h:131:1: warning: empty declaration
131 | struct scatterlist;
| ^~~~~~
include/linux/crypto.h:132:1: warning: empty declaration
132 | struct crypto_async_request;
| ^~~~~~
include/linux/crypto.h:133:1: warning: empty declaration
133 | struct crypto_tfm;
| ^~~~~~
include/linux/crypto.h:134:1: warning: empty declaration
134 | struct crypto_type;
| ^~~~~~
include/linux/crypto.h:136:16: error: storage class specified for parameter 'crypto_completion_t'
136 | typedef void (*crypto_completion_t)(struct crypto_async_request *req, int err);
|                ^~~~~~~~~~~~~~~~~~~
include/linux/crypto.h:147:2: error: expected specifier-qualifier-list before 'crypto_completion_t'
147 |  crypto_completion_t complete;
|  ^~~~~~~~~~~~~~~~~~~
include/linux/crypto.h:145:1: warning: empty declaration
145 | struct crypto_async_request {
| ^~~~~~
include/linux/crypto.h:208:1: warning: empty declaration
208 | struct cipher_alg {
| ^~~~~~
include/linux/crypto.h:228:1: warning: empty declaration
228 | struct compress_alg {
| ^~~~~~
include/linux/crypto.h:435:1: warning: empty declaration
435 | struct crypto_alg {
| ^~~~~~
include/linux/crypto.h:499:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
499 | {}
| ^
include/linux/crypto.h:501:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
501 | {}
| ^
include/linux/crypto.h:503:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
503 | {}
| ^
include/linux/crypto.h:505:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
505 | {}
| ^
include/linux/crypto.h:507:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
507 | {}
| ^
include/linux/crypto.h:509:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
509 | {}
| ^
include/linux/crypto.h:511:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
511 | {}
| ^
include/linux/crypto.h:513:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
513 | {}
| ^
include/linux/crypto.h:515:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
515 | {}
| ^
include/linux/crypto.h:517:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
517 | {}
| ^
include/linux/crypto.h:519:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
519 | {}
| ^
include/linux/crypto.h:521:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
521 | {}
| ^
include/linux/crypto.h:523:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
523 | {}
| ^
include/linux/crypto.h:525:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
525 | {}
| ^
include/linux/crypto.h:527:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
527 | {}
| ^
include/linux/crypto.h:529:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
529 | {}

vim +336 arch/powerpc/include/asm/uaccess.h

   326	
   327	extern unsigned long __copy_tofrom_user(void __user *to,
   328			const void __user *from, unsigned long size);
   329	
   330	#ifdef CONFIG_ARCH_HAS_COPY_MC
   331	extern unsigned long __must_check
 > 332	copy_mc_generic(void *to, const void *from, unsigned long size)
   333	
   334	static __always_inline unsigned long __must_check
   335	copy_mc_to_kernel(void *to, const void *from, unsigned long size)
 > 336	{
   337		return copy_mc_generic(to, from, size);
   338	}
   339	#define copy_mc_to_kernel copy_mc_to_kernel
   340	
   341	static __always_inline unsigned long __must_check
   342	copy_mc_to_user(void __user *to, const void *from, unsigned long n)
   343	{
   344		if (likely(check_copy_size(from, n, true))) {
   345			if (access_ok(to, n)) {
   346				allow_write_to_user(to, n);
   347				n = copy_mc_generic((void *)to, from, n);
   348				prevent_write_to_user(to, n);
   349			}
   350		}
   351	
   352		return n;
   353	}
   354	#endif
   355	
   356	#ifdef __powerpc64__
   357	static inline unsigned long
   358	raw_copy_in_user(void __user *to, const void __user *from, unsigned long n)
   359	{
   360		unsigned long ret;
   361	
   362		barrier_nospec();
   363		allow_read_write_user(to, from, n);
   364		ret = __copy_tofrom_user(to, from, n);
   365		prevent_read_write_user(to, from, n);
   366		return ret;
   367	}
   368	#endif /* __powerpc64__ */
   369	
   370	static inline unsigned long raw_copy_from_user(void *to,
   371			const void __user *from, unsigned long n)
   372	{
   373		unsigned long ret;
   374		if (__builtin_constant_p(n) && (n <= 8)) {
   375			ret = 1;
   376	
   377			switch (n) {
   378			case 1:
   379				barrier_nospec();
   380				__get_user_size(*(u8 *)to, from, 1, ret);
   381				break;
   382			case 2:
   383				barrier_nospec();
   384				__get_user_size(*(u16 *)to, from, 2, ret);
   385				break;
   386			case 4:
   387				barrier_nospec();
   388				__get_user_size(*(u32 *)to, from, 4, ret);
   389				break;
   390			case 8:
   391				barrier_nospec();
   392				__get_user_size(*(u64 *)to, from, 8, ret);
   393				break;
   394			}
   395			if (ret == 0)
   396				return 0;
   397		}
   398	
   399		barrier_nospec();
   400		allow_read_from_user(from, n);
   401		ret = __copy_tofrom_user((__force void __user *)to, from, n);
   402		prevent_read_from_user(from, n);
   403		return ret;
   404	}
   405	
   406	static inline unsigned long
   407	raw_copy_to_user_allowed(void __user *to, const void *from, unsigned long n)
   408	{
   409		if (__builtin_constant_p(n) && (n <= 8)) {
   410			unsigned long ret = 1;
   411	
   412			switch (n) {
   413			case 1:
   414				__put_user_size_allowed(*(u8 *)from, (u8 __user *)to, 1, ret);
   415				break;
   416			case 2:
   417				__put_user_size_allowed(*(u16 *)from, (u16 __user *)to, 2, ret);
   418				break;
   419			case 4:
   420				__put_user_size_allowed(*(u32 *)from, (u32 __user *)to, 4, ret);
   421				break;
   422			case 8:
   423				__put_user_size_allowed(*(u64 *)from, (u64 __user *)to, 8, ret);
   424				break;
   425			}
   426			if (ret == 0)
   427				return 0;
   428		}
   429	
   430		return __copy_tofrom_user(to, (__force const void __user *)from, n);
   431	}
   432	
   433	static inline unsigned long
   434	raw_copy_to_user(void __user *to, const void *from, unsigned long n)
   435	{
   436		unsigned long ret;
   437	
   438		allow_write_to_user(to, n);
   439		ret = raw_copy_to_user_allowed(to, from, n);
   440		prevent_write_to_user(to, n);
   441		return ret;
   442	}
   443	
   444	unsigned long __arch_clear_user(void __user *addr, unsigned long size);
   445	
   446	static inline unsigned long clear_user(void __user *addr, unsigned long size)
   447	{
   448		unsigned long ret = size;
   449		might_fault();
   450		if (likely(access_ok(addr, size))) {
   451			allow_write_to_user(addr, size);
   452			ret = __arch_clear_user(addr, size);
   453			prevent_write_to_user(addr, size);
   454		}
   455		return ret;
   456	}
   457	
   458	static inline unsigned long __clear_user(void __user *addr, unsigned long size)
   459	{
   460		return clear_user(addr, size);
   461	}
   462	
 > 463	extern long strncpy_from_user(char *dst, const char __user *src, long count);
 > 464	extern __must_check long strnlen_user(const char __user *str, long n);
   465	
 > 466	extern long __copy_from_user_flushcache(void *dst, const void __user *src,
   467			unsigned size);
 > 468	extern void memcpy_page_flushcache(char *to, struct page *page, size_t offset,
   469				   size_t len);
   470	

---
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: 26143 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-19 11:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 11:10 [nvdimm:libnvdimm-pending 284/291] arch/powerpc/include/asm/uaccess.h:336:1: error: expected '=', ',', '; ', 'asm' or '__attribute__' before '{' token kbuild test robot

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.