Re: [PATCH 2/2] quota: wire up quotactl_path
by kernel test robot
Hi Sascha,
I love your patch! Yet something to improve:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on tip/x86/asm m68k/for-next hp-parisc/for-next powerpc/next s390/features linus/master v5.11-rc7]
[cannot apply to sparc-next/master sparc/master xtensa/for_next next-20210211]
[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/Sascha-Hauer/quota-Add-mountpath...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: x86_64-randconfig-a013-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/0fa8489f958d6ec34215930a8d1a2d4b6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sascha-Hauer/quota-Add-mountpath-based-quota-support/20210211-233912
git checkout 0fa8489f958d6ec34215930a8d1a2d4b6644fea3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
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 arch/x86/entry/syscall_32.c:13:
>> ./arch/x86/include/generated/asm/syscalls_32.h:830:18: error: expected parameter declarator
__SYSCALL_COMMON(442, sys_quotactl_path)
^
>> ./arch/x86/include/generated/asm/syscalls_32.h:830:18: error: expected ')'
./arch/x86/include/generated/asm/syscalls_32.h:830:17: note: to match this '('
__SYSCALL_COMMON(442, sys_quotactl_path)
^
./arch/x86/include/generated/asm/syscalls_32.h:830:1: warning: declaration specifier missing, defaulting to 'int'
__SYSCALL_COMMON(442, sys_quotactl_path)
^
int
>> ./arch/x86/include/generated/asm/syscalls_32.h:830:17: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
__SYSCALL_COMMON(442, sys_quotactl_path)
^
void
>> ./arch/x86/include/generated/asm/syscalls_32.h:830:41: error: expected ';' after top level declarator
__SYSCALL_COMMON(442, sys_quotactl_path)
^
;
In file included from arch/x86/entry/syscall_32.c:24:
>> ./arch/x86/include/generated/asm/syscalls_32.h:830:23: error: use of undeclared identifier 'sys_quotactl_path'
__SYSCALL_COMMON(442, sys_quotactl_path)
^
1 warning and 5 errors generated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[linux-next:master 8483/10581] drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:24:29: error: field 'match_level' has incomplete type
by kernel test robot
Hi Vlad,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 671176b0016c80b3943cb5387312c886aba3308d
commit: 0d9f96471493d5483d116c137693f03604332a04 [8483/10581] net/mlx5e: Extract tc tunnel encap/decap code to dedicated file
config: s390-defconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 0d9f96471493d5483d116c137693f03604332a04
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
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 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h:40,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:45:
>> drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:24:29: error: field 'match_level' has incomplete type
24 | enum mlx5_flow_match_level match_level;
| ^~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:27:26: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
27 | int (*calc_hlen)(struct mlx5e_encap_entry *e);
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:30:18: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
30 | struct mlx5e_encap_entry *e,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:34:15: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
34 | struct mlx5e_encap_entry *e);
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:56:13: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
56 | struct mlx5e_encap_entry *e,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:61:16: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
61 | struct mlx5e_encap_entry *e);
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h:66:16: warning: 'struct mlx5e_encap_entry' declared inside parameter list will not be visible outside of this definition or declaration
66 | struct mlx5e_encap_entry *e);
| ^~~~~~~~~~~~~~~~~
vim +/match_level +24 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h
101f4de9dd521c Oz Shlomo 2018-12-02 21
d386939a327d2f Yevgeny Kliteynik 2019-04-14 22 struct mlx5e_tc_tunnel {
d386939a327d2f Yevgeny Kliteynik 2019-04-14 23 int tunnel_type;
d386939a327d2f Yevgeny Kliteynik 2019-04-14 @24 enum mlx5_flow_match_level match_level;
d386939a327d2f Yevgeny Kliteynik 2019-04-14 25
d386939a327d2f Yevgeny Kliteynik 2019-04-14 26 bool (*can_offload)(struct mlx5e_priv *priv);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 27 int (*calc_hlen)(struct mlx5e_encap_entry *e);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 28 int (*init_encap_attr)(struct net_device *tunnel_dev,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 29 struct mlx5e_priv *priv,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 30 struct mlx5e_encap_entry *e,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 31 struct netlink_ext_ack *extack);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 32 int (*generate_ip_tun_hdr)(char buf[],
d386939a327d2f Yevgeny Kliteynik 2019-04-14 33 __u8 *ip_proto,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 34 struct mlx5e_encap_entry *e);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 35 int (*parse_udp_ports)(struct mlx5e_priv *priv,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 36 struct mlx5_flow_spec *spec,
f9e30088d20016 Pablo Neira Ayuso 2019-07-09 37 struct flow_cls_offload *f,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 38 void *headers_c,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 39 void *headers_v);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 40 int (*parse_tunnel)(struct mlx5e_priv *priv,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 41 struct mlx5_flow_spec *spec,
f9e30088d20016 Pablo Neira Ayuso 2019-07-09 42 struct flow_cls_offload *f,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 43 void *headers_c,
d386939a327d2f Yevgeny Kliteynik 2019-04-14 44 void *headers_v);
d386939a327d2f Yevgeny Kliteynik 2019-04-14 45 };
d386939a327d2f Yevgeny Kliteynik 2019-04-14 46
:::::: The code at line 24 was first introduced by commit
:::::: d386939a327d2f1c9e918ee843087124eee0efda net/mlx5e: Rearrange tc tunnel code in a modular way
:::::: TO: Yevgeny Kliteynik <kliteyn(a)mellanox.com>
:::::: CC: Saeed Mahameed <saeedm(a)mellanox.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[luto:x86/fixes 8/17] arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/fixes
head: 087ddc16a1dd1d4cb567859f56eb0b28ef65ee6c
commit: 5b4882d107fcdde14bac4beebd53c39c80bb0d2f [8/17] x86/mm: Handle unlazying membarrier core sync in the arch code
config: x86_64-randconfig-a006-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?id...
git remote add luto https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
git fetch --no-tags luto x86/fixes
git checkout 5b4882d107fcdde14bac4beebd53c39c80bb0d2f
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
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 include/linux/init.h:5,
from arch/x86/mm/tlb.c:2:
arch/x86/mm/tlb.c: In function 'switch_mm_irqs_off':
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
arch/x86/mm/tlb.c:538:10: error: 'MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE' undeclared (first use in this function)
538 | MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
arch/x86/mm/tlb.c:538:10: note: each undeclared identifier is reported only once for each function it appears in
538 | MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
>> arch/x86/mm/tlb.c:537:34: error: 'struct mm_struct' has no member named 'membarrier_state'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:4: note: in expansion of macro 'if'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
48 | # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
| ^~~~~~~~~~~~~~~~
arch/x86/mm/tlb.c:537:8: note: in expansion of macro 'unlikely'
537 | if (unlikely(atomic_read(&next->membarrier_state) &
| ^~~~~~~~
vim +537 arch/x86/mm/tlb.c
422
423 void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,
424 struct task_struct *tsk)
425 {
426 struct mm_struct *real_prev = this_cpu_read(cpu_tlbstate.loaded_mm);
427 u16 prev_asid = this_cpu_read(cpu_tlbstate.loaded_mm_asid);
428 bool was_lazy = this_cpu_read(cpu_tlbstate.is_lazy);
429 unsigned cpu = smp_processor_id();
430 u64 next_tlb_gen;
431 bool need_flush;
432 u16 new_asid;
433
434 /*
435 * NB: The scheduler will call us with prev == next when switching
436 * from lazy TLB mode to normal mode if active_mm isn't changing.
437 * When this happens, we don't assume that CR3 (and hence
438 * cpu_tlbstate.loaded_mm) matches next.
439 *
440 * NB: leave_mm() calls us with prev == NULL and tsk == NULL.
441 */
442
443 /* We don't want flush_tlb_func_* to run concurrently with us. */
444 if (IS_ENABLED(CONFIG_PROVE_LOCKING))
445 WARN_ON_ONCE(!irqs_disabled());
446
447 /*
448 * Verify that CR3 is what we think it is. This will catch
449 * hypothetical buggy code that directly switches to swapper_pg_dir
450 * without going through leave_mm() / switch_mm_irqs_off() or that
451 * does something like write_cr3(read_cr3_pa()).
452 *
453 * Only do this check if CONFIG_DEBUG_VM=y because __read_cr3()
454 * isn't free.
455 */
456 #ifdef CONFIG_DEBUG_VM
457 if (WARN_ON_ONCE(__read_cr3() != build_cr3(real_prev->pgd, prev_asid))) {
458 /*
459 * If we were to BUG here, we'd be very likely to kill
460 * the system so hard that we don't see the call trace.
461 * Try to recover instead by ignoring the error and doing
462 * a global flush to minimize the chance of corruption.
463 *
464 * (This is far from being a fully correct recovery.
465 * Architecturally, the CPU could prefetch something
466 * back into an incorrect ASID slot and leave it there
467 * to cause trouble down the road. It's better than
468 * nothing, though.)
469 */
470 __flush_tlb_all();
471 }
472 #endif
473 this_cpu_write(cpu_tlbstate.is_lazy, false);
474
475 /*
476 * membarrier() support requires that, when we change rq->curr->mm:
477 *
478 * - If next->mm has membarrier registered, a full memory barrier
479 * after writing rq->curr (or rq->curr->mm if we switched the mm
480 * without switching tasks) and before returning to user mode.
481 *
482 * - If next->mm has SYNC_CORE registered, then we sync core before
483 * returning to user mode.
484 *
485 * In the case where prev->mm == next->mm, membarrier() uses an IPI
486 * instead, and no particular barriers are needed while context
487 * switching.
488 *
489 * x86 gets all of this as a side-effect of writing to CR3 except
490 * in the case where we unlazy without flushing.
491 *
492 * All other architectures are civilized and do all of this implicitly
493 * when transitioning from kernel to user mode.
494 */
495 if (real_prev == next) {
496 VM_WARN_ON(this_cpu_read(cpu_tlbstate.ctxs[prev_asid].ctx_id) !=
497 next->context.ctx_id);
498
499 /*
500 * Even in lazy TLB mode, the CPU should stay set in the
501 * mm_cpumask. The TLB shootdown code can figure out from
502 * from cpu_tlbstate.is_lazy whether or not to send an IPI.
503 */
504 if (WARN_ON_ONCE(real_prev != &init_mm &&
505 !cpumask_test_cpu(cpu, mm_cpumask(next))))
506 cpumask_set_cpu(cpu, mm_cpumask(next));
507
508 /*
509 * If the CPU is not in lazy TLB mode, we are just switching
510 * from one thread in a process to another thread in the same
511 * process. No TLB flush or membarrier() synchronization
512 * is required.
513 */
514 if (!was_lazy)
515 return;
516
517 /*
518 * Read the tlb_gen to check whether a flush is needed.
519 * If the TLB is up to date, just use it.
520 * The barrier synchronizes with the tlb_gen increment in
521 * the TLB shootdown code.
522 *
523 * As a future optimization opportunity, it's plausible
524 * that the x86 memory model is strong enough that this
525 * smp_mb() isn't needed.
526 */
527 smp_mb();
528 next_tlb_gen = atomic64_read(&next->context.tlb_gen);
529 if (this_cpu_read(cpu_tlbstate.ctxs[prev_asid].tlb_gen) ==
530 next_tlb_gen) {
531 /*
532 * We switched logical mm but we're not going to
533 * write to CR3. We already did smp_mb() above,
534 * but membarrier() might require a sync_core()
535 * as well.
536 */
> 537 if (unlikely(atomic_read(&next->membarrier_state) &
538 MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE))
539 sync_core_before_usermode();
540
541 return;
542 }
543
544 /*
545 * TLB contents went out of date while we were in lazy
546 * mode. Fall through to the TLB switching code below.
547 * No need for an explicit membarrier invocation -- the CR3
548 * write will serialize.
549 */
550 new_asid = prev_asid;
551 need_flush = true;
552 } else {
553 /*
554 * Avoid user/user BTB poisoning by flushing the branch
555 * predictor when switching between processes. This stops
556 * one process from doing Spectre-v2 attacks on another.
557 */
558 cond_ibpb(tsk);
559
560 /*
561 * Stop remote flushes for the previous mm.
562 * Skip kernel threads; we never send init_mm TLB flushing IPIs,
563 * but the bitmap manipulation can cause cache line contention.
564 */
565 if (real_prev != &init_mm) {
566 VM_WARN_ON_ONCE(!cpumask_test_cpu(cpu,
567 mm_cpumask(real_prev)));
568 cpumask_clear_cpu(cpu, mm_cpumask(real_prev));
569 }
570
571 /*
572 * Start remote flushes and then read tlb_gen.
573 */
574 if (next != &init_mm)
575 cpumask_set_cpu(cpu, mm_cpumask(next));
576 next_tlb_gen = atomic64_read(&next->context.tlb_gen);
577
578 choose_new_asid(next, next_tlb_gen, &new_asid, &need_flush);
579
580 /* Let nmi_uaccess_okay() know that we're changing CR3. */
581 this_cpu_write(cpu_tlbstate.loaded_mm, LOADED_MM_SWITCHING);
582 barrier();
583 }
584
585 if (need_flush) {
586 this_cpu_write(cpu_tlbstate.ctxs[new_asid].ctx_id, next->context.ctx_id);
587 this_cpu_write(cpu_tlbstate.ctxs[new_asid].tlb_gen, next_tlb_gen);
588 load_new_mm_cr3(next->pgd, new_asid, true);
589
590 trace_tlb_flush(TLB_FLUSH_ON_TASK_SWITCH, TLB_FLUSH_ALL);
591 } else {
592 /* The new ASID is already up to date. */
593 load_new_mm_cr3(next->pgd, new_asid, false);
594
595 trace_tlb_flush(TLB_FLUSH_ON_TASK_SWITCH, 0);
596 }
597
598 /* Make sure we write CR3 before loaded_mm. */
599 barrier();
600
601 this_cpu_write(cpu_tlbstate.loaded_mm, next);
602 this_cpu_write(cpu_tlbstate.loaded_mm_asid, new_asid);
603
604 if (next != real_prev) {
605 cr4_update_pce_mm(next);
606 switch_ldt(real_prev, next);
607 }
608 }
609
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH v13 3/7] kasan: Add report for async mode
by kernel test robot
Hi Vincenzo,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20210211]
[cannot apply to arm64/for-next/core xlnx/master arm/for-next soc/for-next kvmarm/next linus/master hnaz-linux-mm/master v5.11-rc7 v5.11-rc6 v5.11-rc5 v5.11-rc7]
[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/Vincenzo-Frascino/arm64-ARMv8-5-...
base: 671176b0016c80b3943cb5387312c886aba3308d
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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/df25c9583cd523a49f2407e0aeee55bde...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vincenzo-Frascino/arm64-ARMv8-5-A-MTE-Add-async-mode-support/20210212-004947
git checkout df25c9583cd523a49f2407e0aeee55bdec24a14e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
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 >>):
aarch64-linux-ld: mm/kasan/report.o: in function `end_report':
report.c:(.text+0x18): undefined reference to `kasan_flag_async'
aarch64-linux-ld: mm/kasan/report.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `kasan_flag_async' which may bind externally can not be used when making a shared object; recompile with -fPIC
report.c:(.text+0x18): dangerous relocation: unsupported relocation
>> aarch64-linux-ld: report.c:(.text+0x1c): undefined reference to `kasan_flag_async'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH v1 3/4] usb: typec: tps6598x: Add trace event for power status register
by kernel test robot
Hi "Guido,
I love your patch! Yet something to improve:
[auto build test ERROR on usb/usb-testing]
[also build test ERROR on v5.11-rc7 next-20210211]
[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/Guido-G-nther/usb-typec-tps6598x...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: mips-randconfig-r036-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/0day-ci/linux/commit/e726633dc82c8537d76fed3f4a2e55a28...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Guido-G-nther/usb-typec-tps6598x-Add-IRQ-flag-and-register-tracing/20210212-001108
git checkout e726633dc82c8537d76fed3f4a2e55a28bc3e670
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
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 include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:190:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_5V0_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:30:38: note: expanded from macro 'TPS_STATUS_PP_5V0_SWITCH'
#define TPS_STATUS_PP_5V0_SWITCH(x) FIELD_GET(TPS_STATUS_PP_5V0_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:191:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_HV_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:32:37: note: expanded from macro 'TPS_STATUS_PP_HV_SWITCH'
#define TPS_STATUS_PP_HV_SWITCH(x) FIELD_GET(TPS_STATUS_PP_HV_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:192:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_EXT_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:34:38: note: expanded from macro 'TPS_STATUS_PP_EXT_SWITCH'
#define TPS_STATUS_PP_EXT_SWITCH(x) FIELD_GET(TPS_STATUS_PP_EXT_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:193:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_CABLE_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:36:40: note: expanded from macro 'TPS_STATUS_PP_CABLE_SWITCH'
#define TPS_STATUS_PP_CABLE_SWITCH(x) FIELD_GET(TPS_STATUS_PP_CABLE_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:194:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_power_sources(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:98:19: note: expanded from macro 'show_status_power_sources'
__print_symbolic(TPS_STATUS_POWER_SOURCE(status), \
^
drivers/usb/typec/tps6598x.h:38:37: note: expanded from macro 'TPS_STATUS_POWER_SOURCE'
#define TPS_STATUS_POWER_SOURCE(x) FIELD_GET(TPS_STATUS_POWER_SOURCE_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:195:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_vbus_status(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:105:19: note: expanded from macro 'show_status_vbus_status'
__print_symbolic(TPS_STATUS_VBUS_STATUS(status), \
^
drivers/usb/typec/tps6598x.h:40:36: note: expanded from macro 'TPS_STATUS_VBUS_STATUS'
#define TPS_STATUS_VBUS_STATUS(x) FIELD_GET(TPS_STATUS_VBUS_STATUS_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:196:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_usb_host_present(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:112:19: note: expanded from macro 'show_status_usb_host_present'
__print_symbolic(TPS_STATUS_USB_HOST_PRESENT(status), \
^
drivers/usb/typec/tps6598x.h:42:41: note: expanded from macro 'TPS_STATUS_USB_HOST_PRESENT'
#define TPS_STATUS_USB_HOST_PRESENT(x) FIELD_GET(TPS_STATUS_USB_HOST_PRESENT_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:197:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_legacy(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:119:19: note: expanded from macro 'show_status_legacy'
__print_symbolic(TPS_STATUS_LEGACY(status), \
^
drivers/usb/typec/tps6598x.h:44:32: note: expanded from macro 'TPS_STATUS_LEGACY'
#define TPS_STATUS_LEGACY(x) FIELD_GET(TPS_STATUS_LEGACY_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:229:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:215:11: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
!!TPS_POWER_STATUS_CONNECTION(__entry->power_status),
^
drivers/usb/typec/tps6598x.h:128:41: note: expanded from macro 'TPS_POWER_STATUS_CONNECTION'
#define TPS_POWER_STATUS_CONNECTION(x) FIELD_GET(BIT(0), (x))
^
>> drivers/usb/typec/tps6598x.c:235:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
mode = TPS_POWER_STATUS_PWROPMODE(pwr_status);
^
drivers/usb/typec/tps6598x.h:133:43: note: expanded from macro 'TPS_POWER_STATUS_PWROPMODE'
#define TPS_POWER_STATUS_PWROPMODE(p) FIELD_GET(TPS_POWER_STATUS_TYPEC_CURRENT_MASK, (p))
^
drivers/usb/typec/tps6598x.c:505:6: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
if (TPS_POWER_STATUS_CONNECTION(pwr_status) &&
^
drivers/usb/typec/tps6598x.h:128:41: note: expanded from macro 'TPS_POWER_STATUS_CONNECTION'
#define TPS_POWER_STATUS_CONNECTION(x) FIELD_GET(BIT(0), (x))
^
drivers/usb/typec/tps6598x.c:527:7: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
if (TPS_POWER_STATUS_PWROPMODE(pwr_status) == TYPEC_PWR_MODE_PD)
^
drivers/usb/typec/tps6598x.h:133:43: note: expanded from macro 'TPS_POWER_STATUS_PWROPMODE'
#define TPS_POWER_STATUS_PWROPMODE(p) FIELD_GET(TPS_POWER_STATUS_TYPEC_CURRENT_MASK, (p))
^
36 warnings and 13 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SSB_EMBEDDED
Depends on SSB && SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
Selected by
- BCM47XX_SSB && BCM47XX
vim +/FIELD_GET +235 drivers/usb/typec/tps6598x.c
18a6c866bb191f Bryan O'Donoghue 2020-05-12 220
0a4c005bd1715d Heikki Krogerus 2017-09-25 221 static int tps6598x_connect(struct tps6598x *tps, u32 status)
0a4c005bd1715d Heikki Krogerus 2017-09-25 222 {
0a4c005bd1715d Heikki Krogerus 2017-09-25 223 struct typec_partner_desc desc;
0a4c005bd1715d Heikki Krogerus 2017-09-25 224 enum typec_pwr_opmode mode;
0a4c005bd1715d Heikki Krogerus 2017-09-25 225 u16 pwr_status;
0a4c005bd1715d Heikki Krogerus 2017-09-25 226 int ret;
0a4c005bd1715d Heikki Krogerus 2017-09-25 227
0a4c005bd1715d Heikki Krogerus 2017-09-25 228 if (tps->partner)
0a4c005bd1715d Heikki Krogerus 2017-09-25 229 return 0;
0a4c005bd1715d Heikki Krogerus 2017-09-25 230
0a4c005bd1715d Heikki Krogerus 2017-09-25 231 ret = tps6598x_read16(tps, TPS_REG_POWER_STATUS, &pwr_status);
0a4c005bd1715d Heikki Krogerus 2017-09-25 232 if (ret < 0)
0a4c005bd1715d Heikki Krogerus 2017-09-25 233 return ret;
0a4c005bd1715d Heikki Krogerus 2017-09-25 234
0a4c005bd1715d Heikki Krogerus 2017-09-25 @235 mode = TPS_POWER_STATUS_PWROPMODE(pwr_status);
0a4c005bd1715d Heikki Krogerus 2017-09-25 236
0a4c005bd1715d Heikki Krogerus 2017-09-25 237 desc.usb_pd = mode == TYPEC_PWR_MODE_PD;
0a4c005bd1715d Heikki Krogerus 2017-09-25 238 desc.accessory = TYPEC_ACCESSORY_NONE; /* XXX: handle accessories */
0a4c005bd1715d Heikki Krogerus 2017-09-25 239 desc.identity = NULL;
0a4c005bd1715d Heikki Krogerus 2017-09-25 240
0a4c005bd1715d Heikki Krogerus 2017-09-25 241 if (desc.usb_pd) {
0a4c005bd1715d Heikki Krogerus 2017-09-25 242 ret = tps6598x_read_partner_identity(tps);
0a4c005bd1715d Heikki Krogerus 2017-09-25 243 if (ret)
0a4c005bd1715d Heikki Krogerus 2017-09-25 244 return ret;
0a4c005bd1715d Heikki Krogerus 2017-09-25 245 desc.identity = &tps->partner_identity;
0a4c005bd1715d Heikki Krogerus 2017-09-25 246 }
0a4c005bd1715d Heikki Krogerus 2017-09-25 247
0a4c005bd1715d Heikki Krogerus 2017-09-25 248 typec_set_pwr_opmode(tps->port, mode);
17785e43289bc7 Guido Günther 2021-02-11 249 typec_set_pwr_role(tps->port, TPS_STATUS_TO_TYPEC_PORTROLE(status));
17785e43289bc7 Guido Günther 2021-02-11 250 typec_set_vconn_role(tps->port, TPS_STATUS_TO_TYPEC_VCONN(status));
17785e43289bc7 Guido Günther 2021-02-11 251 tps6598x_set_data_role(tps, TPS_STATUS_TO_TYPEC_DATAROLE(status), true);
0a4c005bd1715d Heikki Krogerus 2017-09-25 252
cf6e06cddf2972 Heikki Krogerus 2018-03-02 253 tps->partner = typec_register_partner(tps->port, &desc);
cf6e06cddf2972 Heikki Krogerus 2018-03-02 254 if (IS_ERR(tps->partner))
cf6e06cddf2972 Heikki Krogerus 2018-03-02 255 return PTR_ERR(tps->partner);
cf6e06cddf2972 Heikki Krogerus 2018-03-02 256
0a4c005bd1715d Heikki Krogerus 2017-09-25 257 if (desc.identity)
0a4c005bd1715d Heikki Krogerus 2017-09-25 258 typec_partner_set_identity(tps->partner);
0a4c005bd1715d Heikki Krogerus 2017-09-25 259
10eb0b6ac63a15 Guido Günther 2020-12-05 260 power_supply_changed(tps->psy);
10eb0b6ac63a15 Guido Günther 2020-12-05 261
0a4c005bd1715d Heikki Krogerus 2017-09-25 262 return 0;
0a4c005bd1715d Heikki Krogerus 2017-09-25 263 }
0a4c005bd1715d Heikki Krogerus 2017-09-25 264
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[hid:for-5.12/playstation 3/13] drivers/hid/hid-playstation.c:170:6: warning: variable 'ret' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-5.12/playstation
head: 1f902f8636e499c32f0b55e1ce150082829ef033
commit: d30bca44809eb1d2937e59d3d09694f40613070d [3/13] HID: playstation: add DualSense battery support.
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=d3...
git remote add hid https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
git fetch --no-tags hid for-5.12/playstation
git checkout d30bca44809eb1d2937e59d3d09694f40613070d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
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 >>):
drivers/hid/hid-playstation.c: In function 'ps_battery_get_property':
>> drivers/hid/hid-playstation.c:170:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
170 | int ret;
| ^~~
vim +/ret +170 drivers/hid/hid-playstation.c
161
162 static int ps_battery_get_property(struct power_supply *psy,
163 enum power_supply_property psp,
164 union power_supply_propval *val)
165 {
166 struct ps_device *dev = power_supply_get_drvdata(psy);
167 uint8_t battery_capacity;
168 int battery_status;
169 unsigned long flags;
> 170 int ret;
171
172 spin_lock_irqsave(&dev->lock, flags);
173 battery_capacity = dev->battery_capacity;
174 battery_status = dev->battery_status;
175 spin_unlock_irqrestore(&dev->lock, flags);
176
177 switch (psp) {
178 case POWER_SUPPLY_PROP_STATUS:
179 val->intval = battery_status;
180 break;
181 case POWER_SUPPLY_PROP_PRESENT:
182 val->intval = 1;
183 break;
184 case POWER_SUPPLY_PROP_CAPACITY:
185 val->intval = battery_capacity;
186 break;
187 case POWER_SUPPLY_PROP_SCOPE:
188 val->intval = POWER_SUPPLY_SCOPE_DEVICE;
189 break;
190 default:
191 ret = -EINVAL;
192 break;
193 }
194
195 return 0;
196 }
197
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH v1 2/4] usb: typec: tps6598x: Add trace event for status register
by kernel test robot
Hi "Guido,
I love your patch! Yet something to improve:
[auto build test ERROR on usb/usb-testing]
[also build test ERROR on v5.11-rc7 next-20210211]
[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/Guido-G-nther/usb-typec-tps6598x...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: mips-randconfig-r036-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/0day-ci/linux/commit/17785e43289bc7b92db7b401cd53a37c7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Guido-G-nther/usb-typec-tps6598x-Add-IRQ-flag-and-register-tracing/20210212-001108
git checkout 17785e43289bc7b92db7b401cd53a37c7a9faed2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
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 >>):
{ TPS_REG_INT_USER_VID_ALT_MODE_ENTERED, "USER_VID_ALT_MODE_ENTERED" }, \
^
drivers/usb/typec/tps6598x.h:83:48: note: expanded from macro 'TPS_REG_INT_USER_VID_ALT_MODE_ENTERED'
#define TPS_REG_INT_USER_VID_ALT_MODE_ENTERED BIT(24+32)
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/trace/trace_events.h:80:16: note: expanded from macro 'TRACE_EVENT'
PARAMS(print)); \
~~~~~~~^~~~~~~
include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
#define PARAMS(args...) args
^
include/trace/trace_events.h:367:22: note: expanded from macro 'DECLARE_EVENT_CLASS'
trace_seq_printf(s, print); \
^~~~~
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:154:9: warning: shift count >= width of type [-Wshift-count-overflow]
show_irq_flags(__entry->event2))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/typec/./tps6598x_trace.h:66:5: note: expanded from macro 'show_irq_flags'
{ TPS_REG_INT_USER_VID_ALT_MODE_EXIT, "USER_VID_ALT_MODE_EXIT" }, \
^
drivers/usb/typec/tps6598x.h:82:45: note: expanded from macro 'TPS_REG_INT_USER_VID_ALT_MODE_EXIT'
#define TPS_REG_INT_USER_VID_ALT_MODE_EXIT BIT(25+32)
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/trace/trace_events.h:80:16: note: expanded from macro 'TRACE_EVENT'
PARAMS(print)); \
~~~~~~~^~~~~~~
include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
#define PARAMS(args...) args
^
include/trace/trace_events.h:367:22: note: expanded from macro 'DECLARE_EVENT_CLASS'
trace_seq_printf(s, print); \
^~~~~
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:154:9: warning: shift count >= width of type [-Wshift-count-overflow]
show_irq_flags(__entry->event2))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/typec/./tps6598x_trace.h:67:5: note: expanded from macro 'show_irq_flags'
{ TPS_REG_INT_USER_VID_ALT_MODE_ATTN_VDM, "USER_VID_ALT_MODE_ATTN_VDM" }, \
^
drivers/usb/typec/tps6598x.h:81:49: note: expanded from macro 'TPS_REG_INT_USER_VID_ALT_MODE_ATTN_VDM'
#define TPS_REG_INT_USER_VID_ALT_MODE_ATTN_VDM BIT(26+32)
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/trace/trace_events.h:80:16: note: expanded from macro 'TRACE_EVENT'
PARAMS(print)); \
~~~~~~~^~~~~~~
include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
#define PARAMS(args...) args
^
include/trace/trace_events.h:367:22: note: expanded from macro 'DECLARE_EVENT_CLASS'
trace_seq_printf(s, print); \
^~~~~
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:154:9: warning: shift count >= width of type [-Wshift-count-overflow]
show_irq_flags(__entry->event2))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/typec/./tps6598x_trace.h:68:5: note: expanded from macro 'show_irq_flags'
{ TPS_REG_INT_USER_VID_ALT_MODE_OTHER_VDM, "USER_VID_ALT_MODE_OTHER_VDM" })
^
drivers/usb/typec/tps6598x.h:80:50: note: expanded from macro 'TPS_REG_INT_USER_VID_ALT_MODE_OTHER_VDM'
#define TPS_REG_INT_USER_VID_ALT_MODE_OTHER_VDM BIT(27+32)
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/trace/trace_events.h:80:16: note: expanded from macro 'TRACE_EVENT'
PARAMS(print)); \
~~~~~~~^~~~~~~
include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
#define PARAMS(args...) args
^
include/trace/trace_events.h:367:22: note: expanded from macro 'DECLARE_EVENT_CLASS'
trace_seq_printf(s, print); \
^~~~~
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
>> drivers/usb/typec/./tps6598x_trace.h:171:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_conn_state(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:81:19: note: expanded from macro 'show_status_conn_state'
__print_symbolic(TPS_STATUS_CONN_STATE((status)), \
^
drivers/usb/typec/tps6598x.h:28:35: note: expanded from macro 'TPS_STATUS_CONN_STATE'
#define TPS_STATUS_CONN_STATE(x) FIELD_GET(TPS_STATUS_CONN_STATE_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:172:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_5V0_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:30:38: note: expanded from macro 'TPS_STATUS_PP_5V0_SWITCH'
#define TPS_STATUS_PP_5V0_SWITCH(x) FIELD_GET(TPS_STATUS_PP_5V0_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:173:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_HV_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:32:37: note: expanded from macro 'TPS_STATUS_PP_HV_SWITCH'
#define TPS_STATUS_PP_HV_SWITCH(x) FIELD_GET(TPS_STATUS_PP_HV_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:174:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_EXT_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:34:38: note: expanded from macro 'TPS_STATUS_PP_EXT_SWITCH'
#define TPS_STATUS_PP_EXT_SWITCH(x) FIELD_GET(TPS_STATUS_PP_EXT_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:175:37: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_pp_switch_state(TPS_STATUS_PP_CABLE_SWITCH(__entry->status)),
^
drivers/usb/typec/tps6598x.h:36:40: note: expanded from macro 'TPS_STATUS_PP_CABLE_SWITCH'
#define TPS_STATUS_PP_CABLE_SWITCH(x) FIELD_GET(TPS_STATUS_PP_CABLE_SWITCH_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:176:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_power_sources(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:98:19: note: expanded from macro 'show_status_power_sources'
__print_symbolic(TPS_STATUS_POWER_SOURCE(status), \
^
drivers/usb/typec/tps6598x.h:38:37: note: expanded from macro 'TPS_STATUS_POWER_SOURCE'
#define TPS_STATUS_POWER_SOURCE(x) FIELD_GET(TPS_STATUS_POWER_SOURCE_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:177:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_vbus_status(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:105:19: note: expanded from macro 'show_status_vbus_status'
__print_symbolic(TPS_STATUS_VBUS_STATUS(status), \
^
drivers/usb/typec/tps6598x.h:40:36: note: expanded from macro 'TPS_STATUS_VBUS_STATUS'
#define TPS_STATUS_VBUS_STATUS(x) FIELD_GET(TPS_STATUS_VBUS_STATUS_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:178:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_usb_host_present(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:112:19: note: expanded from macro 'show_status_usb_host_present'
__print_symbolic(TPS_STATUS_USB_HOST_PRESENT(status), \
^
drivers/usb/typec/tps6598x.h:42:41: note: expanded from macro 'TPS_STATUS_USB_HOST_PRESENT'
#define TPS_STATUS_USB_HOST_PRESENT(x) FIELD_GET(TPS_STATUS_USB_HOST_PRESENT_MASK, (x))
^
In file included from drivers/usb/typec/tps6598x.c:21:
In file included from drivers/usb/typec/./tps6598x_trace.h:191:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:401:
drivers/usb/typec/./tps6598x_trace.h:179:9: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
show_status_legacy(__entry->status),
^
drivers/usb/typec/./tps6598x_trace.h:119:19: note: expanded from macro 'show_status_legacy'
__print_symbolic(TPS_STATUS_LEGACY(status), \
^
drivers/usb/typec/tps6598x.h:44:32: note: expanded from macro 'TPS_STATUS_LEGACY'
#define TPS_STATUS_LEGACY(x) FIELD_GET(TPS_STATUS_LEGACY_MASK, (x))
^
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SSB_EMBEDDED
Depends on SSB && SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
Selected by
- BCM47XX_SSB && BCM47XX
vim +/FIELD_GET +171 drivers/usb/typec/./tps6598x_trace.h
156
157 TRACE_EVENT(tps6598x_status,
158 TP_PROTO(u32 status),
159 TP_ARGS(status),
160
161 TP_STRUCT__entry(
162 __field(u32, status)
163 ),
164
165 TP_fast_assign(
166 __entry->status = status;
167 ),
168
169 TP_printk("conn: %s, pp_5v0: %s, pp_hv: %s, pp_ext: %s, pp_cable: %s, "
170 "pwr-src: %s, vbus: %s, usb-host: %s, legacy: %s, flags: %s",
> 171 show_status_conn_state(__entry->status),
172 show_status_pp_switch_state(TPS_STATUS_PP_5V0_SWITCH(__entry->status)),
173 show_status_pp_switch_state(TPS_STATUS_PP_HV_SWITCH(__entry->status)),
174 show_status_pp_switch_state(TPS_STATUS_PP_EXT_SWITCH(__entry->status)),
175 show_status_pp_switch_state(TPS_STATUS_PP_CABLE_SWITCH(__entry->status)),
176 show_status_power_sources(__entry->status),
177 show_status_vbus_status(__entry->status),
178 show_status_usb_host_present(__entry->status),
179 show_status_legacy(__entry->status),
180 show_status_flags(__entry->status)
181 )
182 );
183
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months