fs/iomap/buffered-io.c:1098 iomap_finish_ioends() warn: inconsistent indenting
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20220111-073805/trondmy-k...
head: f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001
commit: f1c8b8b2e616895aa0f5be4e53d4cd1ffa751001 iomap: Address soft lockup in iomap_finish_ioend()
date: 3 days ago
config: arm-randconfig-m031-20220113 (https://download.01.org/0day-ci/archive/20220113/202201132101.AoT0bCj5-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
fs/iomap/buffered-io.c:1098 iomap_finish_ioends() warn: inconsistent indenting
fs/iomap/buffered-io.c:1330 iomap_add_to_ioend() warn: inconsistent indenting
Old smatch warnings:
fs/iomap/buffered-io.c:1434 iomap_writepage_map() warn: inconsistent indenting
vim +1098 fs/iomap/buffered-io.c
1072
1073 /*
1074 * Ioend completion routine for merged bios. This can only be called from task
1075 * contexts as merged ioends can be of unbound length. Hence we have to break up
1076 * the page writeback completion into manageable chunks to avoid long scheduler
1077 * holdoffs. We aim to keep scheduler holdoffs down below 10ms so that we get
1078 * good batch processing throughput without creating adverse scheduler latency
1079 * conditions.
1080 */
1081 void
1082 iomap_finish_ioends(struct iomap_ioend *ioend, int error)
1083 {
1084 struct list_head tmp;
1085 u32 pages;
1086
1087 might_sleep();
1088
1089 list_replace_init(&ioend->io_list, &tmp);
1090 pages = iomap_finish_ioend(ioend, error);
1091
1092 while (!list_empty(&tmp)) {
1093 trace_printk("pages %u, start sector 0x%llx size %lu pcnt %u",
1094 ioend->io_pages,
1095 ioend->io_sector,
1096 ioend->io_size,
1097 pages);
> 1098 if (pages > 32768) {
1099 cond_resched();
1100 pages = 0;
1101 }
1102 ioend = list_first_entry(&tmp, struct iomap_ioend, io_list);
1103 list_del_init(&ioend->io_list);
1104 pages += iomap_finish_ioend(ioend, error);
1105 }
1106 trace_printk("pages %u, start sector 0x%llx size %lu pcnt %u",
1107 ioend->io_pages,
1108 ioend->io_sector,
1109 ioend->io_size,
1110 pages);
1111 }
1112 EXPORT_SYMBOL_GPL(iomap_finish_ioends);
1113
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[ammarfaizi2-block:google/android/kernel/common/android12-5.10 9986/9999] arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_process_mrelease'
by kernel test robot
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android12-5.10
head: 87a74496ed4a51378b6b01606639d71113b040e5
commit: fe50dcab7ae21c88bdde199e04978903b3ebff4d [9986/9999] UPSTREAM: mm: wire up syscall process_mrelease
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220113/202201132036.zLX4pFMK-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/fe50dcab7ae21c88bdde199...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android12-5.10
git checkout fe50dcab7ae21c88bdde199e04978903b3ebff4d
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:279:1: note: in expansion of macro 'COND_SYSCALL'
279 | COND_SYSCALL(mlockall);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_munlockall' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:280:1: note: in expansion of macro 'COND_SYSCALL'
280 | COND_SYSCALL(munlockall);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_munlockall' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:280:1: note: in expansion of macro 'COND_SYSCALL'
280 | COND_SYSCALL(munlockall);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_mincore' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:281:1: note: in expansion of macro 'COND_SYSCALL'
281 | COND_SYSCALL(mincore);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_mincore' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:281:1: note: in expansion of macro 'COND_SYSCALL'
281 | COND_SYSCALL(mincore);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_madvise' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:282:1: note: in expansion of macro 'COND_SYSCALL'
282 | COND_SYSCALL(madvise);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_madvise' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:282:1: note: in expansion of macro 'COND_SYSCALL'
282 | COND_SYSCALL(madvise);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_process_madvise' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:283:1: note: in expansion of macro 'COND_SYSCALL'
283 | COND_SYSCALL(process_madvise);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_process_madvise' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:283:1: note: in expansion of macro 'COND_SYSCALL'
283 | COND_SYSCALL(process_madvise);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_process_mrelease' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:284:1: note: in expansion of macro 'COND_SYSCALL'
284 | COND_SYSCALL(process_mrelease);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_process_mrelease' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:284:1: note: in expansion of macro 'COND_SYSCALL'
284 | COND_SYSCALL(process_mrelease);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_remap_file_pages' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:285:1: note: in expansion of macro 'COND_SYSCALL'
285 | COND_SYSCALL(remap_file_pages);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_remap_file_pages' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:285:1: note: in expansion of macro 'COND_SYSCALL'
285 | COND_SYSCALL(remap_file_pages);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_mbind' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL'
256 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:286:1: note: in expansion of macro 'COND_SYSCALL'
286 | COND_SYSCALL(mbind);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_mbind' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL'
120 | __COND_SYSCALL(ia32, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL'
257 | __IA32_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:286:1: note: in expansion of macro 'COND_SYSCALL'
286 | COND_SYSCALL(mbind);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_compat_sys_mbind' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:148:2: note: in expansion of macro '__COND_SYSCALL'
148 | __COND_SYSCALL(ia32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:218:2: note: in expansion of macro '__IA32_COMPAT_COND_SYSCALL'
218 | __IA32_COMPAT_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:287:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
287 | COND_SYSCALL_COMPAT(mbind);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x32_compat_sys_mbind' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:175:2: note: in expansion of macro '__COND_SYSCALL'
175 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:219:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
219 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:287:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
287 | COND_SYSCALL_COMPAT(mbind);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_get_mempolicy' [-Wmissing-prototypes]
83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL'
100 | __COND_SYSCALL(x64, sys_##name)
vim +/__x64_sys_process_mrelease +83 arch/x86/include/asm/syscall_wrapper.h
cc42c045af1ff4 Brian Gerst 2020-03-13 13
25c619e59b395a Brian Gerst 2020-03-13 14 /*
25c619e59b395a Brian Gerst 2020-03-13 15 * Instead of the generic __SYSCALL_DEFINEx() definition, the x86 version takes
25c619e59b395a Brian Gerst 2020-03-13 16 * struct pt_regs *regs as the only argument of the syscall stub(s) named as:
25c619e59b395a Brian Gerst 2020-03-13 17 * __x64_sys_*() - 64-bit native syscall
25c619e59b395a Brian Gerst 2020-03-13 18 * __ia32_sys_*() - 32-bit native syscall or common compat syscall
25c619e59b395a Brian Gerst 2020-03-13 19 * __ia32_compat_sys_*() - 32-bit compat syscall
25c619e59b395a Brian Gerst 2020-03-13 20 * __x32_compat_sys_*() - 64-bit X32 compat syscall
25c619e59b395a Brian Gerst 2020-03-13 21 *
25c619e59b395a Brian Gerst 2020-03-13 22 * The registers are decoded according to the ABI:
25c619e59b395a Brian Gerst 2020-03-13 23 * 64-bit: RDI, RSI, RDX, R10, R8, R9
25c619e59b395a Brian Gerst 2020-03-13 24 * 32-bit: EBX, ECX, EDX, ESI, EDI, EBP
25c619e59b395a Brian Gerst 2020-03-13 25 *
25c619e59b395a Brian Gerst 2020-03-13 26 * The stub then passes the decoded arguments to the __se_sys_*() wrapper to
25c619e59b395a Brian Gerst 2020-03-13 27 * perform sign-extension (omitted for zero-argument syscalls). Finally the
25c619e59b395a Brian Gerst 2020-03-13 28 * arguments are passed to the __do_sys_*() function which is the actual
25c619e59b395a Brian Gerst 2020-03-13 29 * syscall. These wrappers are marked as inline so the compiler can optimize
25c619e59b395a Brian Gerst 2020-03-13 30 * the functions where appropriate.
25c619e59b395a Brian Gerst 2020-03-13 31 *
25c619e59b395a Brian Gerst 2020-03-13 32 * Example assembly (slightly re-ordered for better readability):
25c619e59b395a Brian Gerst 2020-03-13 33 *
25c619e59b395a Brian Gerst 2020-03-13 34 * <__x64_sys_recv>: <-- syscall with 4 parameters
25c619e59b395a Brian Gerst 2020-03-13 35 * callq <__fentry__>
25c619e59b395a Brian Gerst 2020-03-13 36 *
25c619e59b395a Brian Gerst 2020-03-13 37 * mov 0x70(%rdi),%rdi <-- decode regs->di
25c619e59b395a Brian Gerst 2020-03-13 38 * mov 0x68(%rdi),%rsi <-- decode regs->si
25c619e59b395a Brian Gerst 2020-03-13 39 * mov 0x60(%rdi),%rdx <-- decode regs->dx
25c619e59b395a Brian Gerst 2020-03-13 40 * mov 0x38(%rdi),%rcx <-- decode regs->r10
25c619e59b395a Brian Gerst 2020-03-13 41 *
25c619e59b395a Brian Gerst 2020-03-13 42 * xor %r9d,%r9d <-- clear %r9
25c619e59b395a Brian Gerst 2020-03-13 43 * xor %r8d,%r8d <-- clear %r8
25c619e59b395a Brian Gerst 2020-03-13 44 *
25c619e59b395a Brian Gerst 2020-03-13 45 * callq __sys_recvfrom <-- do the actual work in __sys_recvfrom()
25c619e59b395a Brian Gerst 2020-03-13 46 * which takes 6 arguments
25c619e59b395a Brian Gerst 2020-03-13 47 *
25c619e59b395a Brian Gerst 2020-03-13 48 * cltq <-- extend return value to 64-bit
25c619e59b395a Brian Gerst 2020-03-13 49 * retq <-- return
25c619e59b395a Brian Gerst 2020-03-13 50 *
25c619e59b395a Brian Gerst 2020-03-13 51 * This approach avoids leaking random user-provided register content down
25c619e59b395a Brian Gerst 2020-03-13 52 * the call chain.
25c619e59b395a Brian Gerst 2020-03-13 53 */
25c619e59b395a Brian Gerst 2020-03-13 54
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 55 /* Mapping of registers to parameters for syscalls on x86-64 and x32 */
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 56 #define SC_X86_64_REGS_TO_ARGS(x, ...) \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 57 __MAP(x,__SC_ARGS \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 58 ,,regs->di,,regs->si,,regs->dx \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 59 ,,regs->r10,,regs->r8,,regs->r9) \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 60
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 61 /* Mapping of registers to parameters for syscalls on i386 */
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 62 #define SC_IA32_REGS_TO_ARGS(x, ...) \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 63 __MAP(x,__SC_ARGS \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 64 ,,(unsigned int)regs->bx,,(unsigned int)regs->cx \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 65 ,,(unsigned int)regs->dx,,(unsigned int)regs->si \
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 66 ,,(unsigned int)regs->di,,(unsigned int)regs->bp)
ebeb8c82ffaf94 Dominik Brodowski 2018-04-05 67
d2b5de495ee983 Brian Gerst 2020-03-13 68 #define __SYS_STUB0(abi, name) \
0f78ff17112d8b Brian Gerst 2020-03-13 69 long __##abi##_##name(const struct pt_regs *regs); \
d2b5de495ee983 Brian Gerst 2020-03-13 70 ALLOW_ERROR_INJECTION(__##abi##_##name, ERRNO); \
0f78ff17112d8b Brian Gerst 2020-03-13 71 long __##abi##_##name(const struct pt_regs *regs) \
d2b5de495ee983 Brian Gerst 2020-03-13 72 __alias(__do_##name);
d2b5de495ee983 Brian Gerst 2020-03-13 73
4399e0cf494f73 Brian Gerst 2020-03-13 74 #define __SYS_STUBx(abi, name, ...) \
0f78ff17112d8b Brian Gerst 2020-03-13 75 long __##abi##_##name(const struct pt_regs *regs); \
4399e0cf494f73 Brian Gerst 2020-03-13 76 ALLOW_ERROR_INJECTION(__##abi##_##name, ERRNO); \
0f78ff17112d8b Brian Gerst 2020-03-13 77 long __##abi##_##name(const struct pt_regs *regs) \
4399e0cf494f73 Brian Gerst 2020-03-13 78 { \
4399e0cf494f73 Brian Gerst 2020-03-13 79 return __se_##name(__VA_ARGS__); \
4399e0cf494f73 Brian Gerst 2020-03-13 80 }
4399e0cf494f73 Brian Gerst 2020-03-13 81
6cc8d2b286d9e7 Brian Gerst 2020-03-13 82 #define __COND_SYSCALL(abi, name) \
0f78ff17112d8b Brian Gerst 2020-03-13 @83 __weak long __##abi##_##name(const struct pt_regs *__unused) \
6cc8d2b286d9e7 Brian Gerst 2020-03-13 84 { \
6cc8d2b286d9e7 Brian Gerst 2020-03-13 85 return sys_ni_syscall(); \
6cc8d2b286d9e7 Brian Gerst 2020-03-13 86 }
6cc8d2b286d9e7 Brian Gerst 2020-03-13 87
:::::: The code at line 83 was first introduced by commit
:::::: 0f78ff17112d8b3469b805ff4ea9780cc1e5c93b x86/entry: Drop asmlinkage from syscalls
:::::: TO: Brian Gerst <brgerst(a)gmail.com>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
Re: [RFC PATCH v2 2/2] RDMA/rxe: Support RDMA Atomic Write operation
by kernel test robot
Hi Xiao,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on v5.16]
[also build test ERROR on next-20220113]
[cannot apply to rdma/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Xiao-Yang/RDMA-rxe-Add-RDMA-Atom...
base: df0cc57e057f18e44dac8e6c18aba47ab53202f9
config: riscv-randconfig-r035-20220113 (https://download.01.org/0day-ci/archive/20220113/202201132027.agYTyFRu-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d1021978b8e7e35dcc30201ca1731d64b5a602a8)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/4294d58609cfb4c296c7937eafd58e044...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xiao-Yang/RDMA-rxe-Add-RDMA-Atomic-Write-operation/20220113-110548
git checkout 4294d58609cfb4c296c7937eafd58e044a4d81c6
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/infiniband/sw/rxe/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/infiniband/sw/rxe/rxe_resp.c:606:2: error: call to __compiletime_assert_499 declared with 'error' attribute: Need native word sized stores/loads for atomicity.
smp_store_release(dst, *src);
^
include/asm-generic/barrier.h:162:2: note: expanded from macro 'smp_store_release'
compiletime_assert_atomic_type(*p); \
^
include/linux/compiler_types.h:338:2: note: expanded from macro 'compiletime_assert_atomic_type'
compiletime_assert(__native_word(t), \
^
include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:316:4: note: expanded from macro '__compiletime_assert'
prefix ## suffix(); \
^
<scratch space>:165:1: note: expanded from here
__compiletime_assert_499
^
1 error generated.
vim +/error +606 drivers/infiniband/sw/rxe/rxe_resp.c
593
594 static enum resp_states process_atomic_write(struct rxe_qp *qp,
595 struct rxe_pkt_info *pkt)
596 {
597 struct rxe_mr *mr = qp->resp.mr;
598
599 u64 *src = payload_addr(pkt);
600
601 u64 *dst = iova_to_vaddr(mr, qp->resp.va + qp->resp.offset, sizeof(u64));
602 if (!dst || (uintptr_t)dst & 7)
603 return RESPST_ERR_MISALIGNED_ATOMIC;
604
605 /* Do atomic write after all prior operations have completed */
> 606 smp_store_release(dst, *src);
607
608 /* decrease resp.resid to zero */
609 qp->resp.resid -= sizeof(u64);
610
611 return RESPST_NONE;
612 }
613
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[cel:topic-rpc-with-tls-upcall 18/19] net/sunrpc/xprtsock.c:2257: undefined reference to `tls_client_hello_user'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux topic-rpc-with-tls-upcall
head: 0fd328ea53e7d539bf8bb160d773e1d027c60fea
commit: adb54a631895e050da6ed9a18f9b503f927b642d [18/19] SUNRPC: RPC client support for TLS handshake upcall
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220113/202201131908.bylSNIA1-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?id=...
git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
git fetch --no-tags cel topic-rpc-with-tls-upcall
git checkout adb54a631895e050da6ed9a18f9b503f927b642d
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: net/sunrpc/xprtsock.o: in function `xs_tcp_tls_handshake_sync':
>> net/sunrpc/xprtsock.c:2257: undefined reference to `tls_client_hello_user'
ld: net/sunrpc/xprtsock.o: in function `xs_tcp_tls_handshake_async':
net/sunrpc/xprtsock.c:2296: undefined reference to `tls_client_hello_user'
pahole: .tmp_vmlinux.btf: No such file or directory
.btf.vmlinux.bin.o: file not recognized: file format not recognized
vim +2257 net/sunrpc/xprtsock.c
2239
2240 /**
2241 * xs_tcp_tls_handshake_sync - Perform a full TLS client handshake
2242 * @xprt: transport on which to perform handshake
2243 *
2244 * Return values:
2245 * %0: Handshake completed successfully.
2246 * Negative errno: handshake not started, or failed.
2247 */
2248 static int xs_tcp_tls_handshake_sync(struct rpc_xprt *xprt)
2249 {
2250 struct sock_xprt *transport =
2251 container_of(xprt, struct sock_xprt, xprt);
2252 int rc;
2253
2254 init_completion(&transport->handshake_done);
2255
2256 transport->xprt_err = -ETIMEDOUT;
> 2257 rc = tls_client_hello_user(transport->sock,
2258 xs_tcp_tls_handshake_done, xprt);
2259 if (rc)
2260 return rc;
2261 rc = wait_for_completion_interruptible_timeout(&transport->handshake_done,
2262 XS_TLS_HANDSHAKE_TO);
2263 if (rc < 0)
2264 return rc;
2265
2266 return transport->xprt_err;
2267 }
2268
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
Re: [RFC PATCH v2 2/2] RDMA/rxe: Support RDMA Atomic Write operation
by kernel test robot
Hi Xiao,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on v5.16]
[also build test ERROR on next-20220113]
[cannot apply to rdma/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Xiao-Yang/RDMA-rxe-Add-RDMA-Atom...
base: df0cc57e057f18e44dac8e6c18aba47ab53202f9
config: arc-randconfig-r003-20220113 (https://download.01.org/0day-ci/archive/20220113/202201131838.Rbqf6UOl-lk...)
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/4294d58609cfb4c296c7937eafd58e044...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xiao-Yang/RDMA-rxe-Add-RDMA-Atomic-Write-operation/20220113-110548
git checkout 4294d58609cfb4c296c7937eafd58e044a4d81c6
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/infiniband/sw/rxe/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:
In function 'process_atomic_write',
inlined from 'execute' at drivers/infiniband/sw/rxe/rxe_resp.c:825:9:
>> include/linux/compiler_types.h:335:45: error: call to '__compiletime_assert_467' declared with attribute error: Need native word sized stores/loads for atomicity.
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:316:25: note: in definition of macro '__compiletime_assert'
316 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:338:9: note: in expansion of macro 'compiletime_assert'
338 | compiletime_assert(__native_word(t), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/barrier.h:162:9: note: in expansion of macro 'compiletime_assert_atomic_type'
162 | compiletime_assert_atomic_type(*p); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/sw/rxe/rxe_resp.c:606:9: note: in expansion of macro 'smp_store_release'
606 | smp_store_release(dst, *src);
| ^~~~~~~~~~~~~~~~~
vim +/__compiletime_assert_467 +335 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 321
eb5c2d4b45e3d2 Will Deacon 2020-07-21 322 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 323 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 324
eb5c2d4b45e3d2 Will Deacon 2020-07-21 325 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 326 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 327 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 328 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 329 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 330 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 331 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 332 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 333 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 334 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @335 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 336
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[rmk-arm:sa1100 51/57] drivers/pcmcia/sa1100_h3600.c:16:8: error: redefinition of 'struct ipaq_option_id'
by kernel test robot
tree: git://git.armlinux.org.uk/~rmk/linux-arm sa1100
head: 7c5e0e177553f8a9ef3424e59fb3ef69c6b71689
commit: 0c9773b1e881f134894c15133ca61b79432d7d89 [51/57] pcmcia: convert sa1100_h3600 to support dual-slot sleeve only
config: arm-h3600_defconfig (https://download.01.org/0day-ci/archive/20220113/202201131931.mrlITrew-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add rmk-arm git://git.armlinux.org.uk/~rmk/linux-arm
git fetch --no-tags rmk-arm sa1100
git checkout 0c9773b1e881f134894c15133ca61b79432d7d89
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/pcmcia/sa1100_h3600.c:16:8: error: redefinition of 'struct ipaq_option_id'
16 | struct ipaq_option_id {
| ^~~~~~~~~~~~~~
In file included from include/linux/of.h:18,
from include/linux/cpufreq.h:17,
from drivers/pcmcia/soc_common.h:15,
from drivers/pcmcia/sa1100_generic.h:2,
from drivers/pcmcia/sa1100_h3600.c:14:
include/linux/mod_devicetable.h:646:8: note: originally defined here
646 | struct ipaq_option_id {
| ^~~~~~~~~~~~~~
vim +16 drivers/pcmcia/sa1100_h3600.c
15
> 16 struct ipaq_option_id {
17 u16 vendor;
18 u16 device;
19 };
20
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week