Re: [PATCH RFC 25/30] hugetlb/userfaultfd: Unshare all pmds for hugetlbfs when register wp
by kernel test robot
Hi Peter,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on asm-generic/master]
[cannot apply to arm64/for-next/core linus/master hnaz-linux-mm/master v5.11-rc3 next-20210115]
[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/Peter-Xu/userfaultfd-wp-Support-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master
config: mips-randconfig-p001-20210115 (attached as .config)
compiler: mips-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/b77e0f36ccdb01804bf08cc2bf67403e1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20210116-011305
git checkout b77e0f36ccdb01804bf08cc2bf67403e13f75ae6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 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 fs/userfaultfd.c:30:
fs/userfaultfd.c: In function 'hugetlb_unshare_all_pmds':
>> include/linux/hugetlb.h:971:49: error: implicit declaration of function 'flush_tlb_range'; did you mean 'flush_pmd_tlb_range'? [-Werror=implicit-function-declaration]
971 | #define flush_hugetlb_tlb_range(vma, addr, end) flush_tlb_range(vma, addr, end)
| ^~~~~~~~~~~~~~~
fs/userfaultfd.c:1232:2: note: in expansion of macro 'flush_hugetlb_tlb_range'
1232 | flush_hugetlb_tlb_range(vma, vma->vm_start, vma->vm_end);
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +971 include/linux/hugetlb.h
af7cc4ba61a97d Peter Xu 2021-01-15 965
e9650bd70dc030 Peter Xu 2021-01-15 966 #ifndef __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE
e9650bd70dc030 Peter Xu 2021-01-15 967 /*
e9650bd70dc030 Peter Xu 2021-01-15 968 * ARCHes with special requirements for evicting HUGETLB backing TLB entries can
e9650bd70dc030 Peter Xu 2021-01-15 969 * implement this.
e9650bd70dc030 Peter Xu 2021-01-15 970 */
e9650bd70dc030 Peter Xu 2021-01-15 @971 #define flush_hugetlb_tlb_range(vma, addr, end) flush_tlb_range(vma, addr, end)
e9650bd70dc030 Peter Xu 2021-01-15 972 #endif
e9650bd70dc030 Peter Xu 2021-01-15 973
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH 4/9] hugetlb/userfaultfd: Unshare all pmds for hugetlbfs when register wp
by kernel test robot
Hi Axel,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on powerpc/next s390/features tip/perf/core linus/master v5.11-rc3 next-20210115]
[cannot apply to hp-parisc/for-next hnaz-linux-mm/master ia64/next sparc-next/master sparc/master]
[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/Axel-Rasmussen/userfaultfd-add-m...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: microblaze-randconfig-r015-20210115 (attached as .config)
compiler: microblaze-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/71aa60d93cd66a7587771bf19dd4313f7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Axel-Rasmussen/userfaultfd-add-minor-fault-handling/20210116-030900
git checkout 71aa60d93cd66a7587771bf19dd4313f7bb078c0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
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 fs/userfaultfd.c:30:
fs/userfaultfd.c: In function 'hugetlb_unshare_all_pmds':
>> include/linux/hugetlb.h:967:49: error: implicit declaration of function 'flush_tlb_range'; did you mean 'flush_pmd_tlb_range'? [-Werror=implicit-function-declaration]
967 | #define flush_hugetlb_tlb_range(vma, addr, end) flush_tlb_range(vma, addr, end)
| ^~~~~~~~~~~~~~~
fs/userfaultfd.c:1224:2: note: in expansion of macro 'flush_hugetlb_tlb_range'
1224 | flush_hugetlb_tlb_range(vma, vma->vm_start, vma->vm_end);
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +967 include/linux/hugetlb.h
97d3dcca13a550 Peter Xu 2021-01-15 961
868bfaed893a49 Peter Xu 2021-01-15 962 #ifndef __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE
868bfaed893a49 Peter Xu 2021-01-15 963 /*
868bfaed893a49 Peter Xu 2021-01-15 964 * ARCHes with special requirements for evicting HUGETLB backing TLB entries can
868bfaed893a49 Peter Xu 2021-01-15 965 * implement this.
868bfaed893a49 Peter Xu 2021-01-15 966 */
868bfaed893a49 Peter Xu 2021-01-15 @967 #define flush_hugetlb_tlb_range(vma, addr, end) flush_tlb_range(vma, addr, end)
868bfaed893a49 Peter Xu 2021-01-15 968 #endif
868bfaed893a49 Peter Xu 2021-01-15 969
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [RFC PATCH v3 2/8] Add a reference to ucounts for each cred
by kernel test robot
Hi Alexey,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on kselftest/next]
[also build test WARNING on linux/master linus/master hnaz-linux-mm/master v5.11-rc3 next-20210115]
[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/Alexey-Gladkov/Count-rlimits-in-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
config: arc-randconfig-r011-20210115 (attached as .config)
compiler: arc-elf-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/14c3c8a27f70d6d6b7c1d64a9af899eb8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alexey-Gladkov/Count-rlimits-in-each-user-namespace/20210115-230051
git checkout 14c3c8a27f70d6d6b7c1d64a9af899eb80169495
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
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/cred.c: In function '__put_cred':
>> kernel/cred.c:149:20: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
149 | if (cred->ucounts);
| ^
vim +/if +149 kernel/cred.c
127
128 /**
129 * __put_cred - Destroy a set of credentials
130 * @cred: The record to release
131 *
132 * Destroy a set of credentials on which no references remain.
133 */
134 void __put_cred(struct cred *cred)
135 {
136 kdebug("__put_cred(%p{%d,%d})", cred,
137 atomic_read(&cred->usage),
138 read_cred_subscribers(cred));
139
140 BUG_ON(atomic_read(&cred->usage) != 0);
141 #ifdef CONFIG_DEBUG_CREDENTIALS
142 BUG_ON(read_cred_subscribers(cred) != 0);
143 cred->magic = CRED_MAGIC_DEAD;
144 cred->put_addr = __builtin_return_address(0);
145 #endif
146 BUG_ON(cred == current->cred);
147 BUG_ON(cred == current->real_cred);
148
> 149 if (cred->ucounts);
150 BUG_ON(cred->ucounts->ns != cred->user_ns);
151
152 if (cred->non_rcu)
153 put_cred_rcu(&cred->rcu);
154 else
155 call_rcu(&cred->rcu, put_cred_rcu);
156 }
157 EXPORT_SYMBOL(__put_cred);
158
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[luto:x86/fixes 22/23] arch/x86/kernel/fpu/core.c:150:15: error: 'fpu_mask' undeclared; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/fixes
head: ab06bcee91bb7cbf6dc6af7e828cefafc6a54eee
commit: 9bb0e10e9d6c804979c5aa0408a12daa9c9a1afe [22/23] x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state
config: x86_64-rhel (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 9bb0e10e9d6c804979c5aa0408a12daa9c9a1afe
# 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/export.h:43,
from include/linux/linkage.h:7,
from arch/x86/include/asm/cache.h:5,
from include/linux/cache.h:6,
from include/linux/time.h:5,
from include/linux/compat.h:10,
from arch/x86/include/asm/fpu/internal.h:14,
from arch/x86/kernel/fpu/core.c:9:
arch/x86/kernel/fpu/core.c: In function 'kernel_fpu_begin_mask':
>> arch/x86/kernel/fpu/core.c:150:15: error: 'fpu_mask' undeclared (first use in this function); did you mean 'kfpu_mask'?
150 | if (unlikely(fpu_mask & KFPU_387)) {
| ^~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
arch/x86/kernel/fpu/core.c:150:15: note: each undeclared identifier is reported only once for each function it appears in
150 | if (unlikely(fpu_mask & KFPU_387)) {
| ^~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
vim +150 arch/x86/kernel/fpu/core.c
> 9 #include <asm/fpu/internal.h>
10 #include <asm/fpu/regset.h>
11 #include <asm/fpu/signal.h>
12 #include <asm/fpu/types.h>
13 #include <asm/traps.h>
14 #include <asm/irq_regs.h>
15
16 #include <linux/hardirq.h>
17 #include <linux/pkeys.h>
18
19 #define CREATE_TRACE_POINTS
20 #include <asm/trace/fpu.h>
21
22 /*
23 * Represents the initial FPU state. It's mostly (but not completely) zeroes,
24 * depending on the FPU hardware format:
25 */
26 union fpregs_state init_fpstate __read_mostly;
27
28 /*
29 * Track whether the kernel is using the FPU state
30 * currently.
31 *
32 * This flag is used:
33 *
34 * - by IRQ context code to potentially use the FPU
35 * if it's unused.
36 *
37 * - to debug kernel_fpu_begin()/end() correctness
38 */
39 static DEFINE_PER_CPU(bool, in_kernel_fpu);
40
41 /*
42 * Track which context is using the FPU on the CPU:
43 */
44 DEFINE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
45
46 static bool kernel_fpu_disabled(void)
47 {
48 return this_cpu_read(in_kernel_fpu);
49 }
50
51 static bool interrupted_kernel_fpu_idle(void)
52 {
53 return !kernel_fpu_disabled();
54 }
55
56 /*
57 * Were we in user mode (or vm86 mode) when we were
58 * interrupted?
59 *
60 * Doing kernel_fpu_begin/end() is ok if we are running
61 * in an interrupt context from user mode - we'll just
62 * save the FPU state as required.
63 */
64 static bool interrupted_user_mode(void)
65 {
66 struct pt_regs *regs = get_irq_regs();
67 return regs && user_mode(regs);
68 }
69
70 /*
71 * Can we use the FPU in kernel mode with the
72 * whole "kernel_fpu_begin/end()" sequence?
73 *
74 * It's always ok in process context (ie "not interrupt")
75 * but it is sometimes ok even from an irq.
76 */
77 bool irq_fpu_usable(void)
78 {
79 return !in_interrupt() ||
80 interrupted_user_mode() ||
81 interrupted_kernel_fpu_idle();
82 }
83 EXPORT_SYMBOL(irq_fpu_usable);
84
85 /*
86 * These must be called with preempt disabled. Returns
87 * 'true' if the FPU state is still intact and we can
88 * keep registers active.
89 *
90 * The legacy FNSAVE instruction cleared all FPU state
91 * unconditionally, so registers are essentially destroyed.
92 * Modern FPU state can be kept in registers, if there are
93 * no pending FP exceptions.
94 */
95 int copy_fpregs_to_fpstate(struct fpu *fpu)
96 {
97 if (likely(use_xsave())) {
98 copy_xregs_to_kernel(&fpu->state.xsave);
99
100 /*
101 * AVX512 state is tracked here because its use is
102 * known to slow the max clock speed of the core.
103 */
104 if (fpu->state.xsave.header.xfeatures & XFEATURE_MASK_AVX512)
105 fpu->avx512_timestamp = jiffies;
106 return 1;
107 }
108
109 if (likely(use_fxsr())) {
110 copy_fxregs_to_kernel(fpu);
111 return 1;
112 }
113
114 /*
115 * Legacy FPU register saving, FNSAVE always clears FPU registers,
116 * so we have to mark them inactive:
117 */
118 asm volatile("fnsave %[fp]; fwait" : [fp] "=m" (fpu->state.fsave));
119
120 return 0;
121 }
122 EXPORT_SYMBOL(copy_fpregs_to_fpstate);
123
124 void kernel_fpu_begin_mask(unsigned int kfpu_mask)
125 {
126 preempt_disable();
127
128 WARN_ON_FPU(!irq_fpu_usable());
129 WARN_ON_FPU(this_cpu_read(in_kernel_fpu));
130
131 this_cpu_write(in_kernel_fpu, true);
132
133 if (!(current->flags & PF_KTHREAD) &&
134 !test_thread_flag(TIF_NEED_FPU_LOAD)) {
135 set_thread_flag(TIF_NEED_FPU_LOAD);
136 /*
137 * Ignore return value -- we don't care if reg state
138 * is clobbered.
139 */
140 copy_fpregs_to_fpstate(¤t->thread.fpu);
141 }
142 __cpu_invalidate_fpregs_state();
143
144 /* Put sane initial values into the control registers. */
145 if (likely(kfpu_mask & KFPU_XMM)) {
146 if (boot_cpu_has(X86_FEATURE_XMM))
147 ldmxcsr(MXCSR_DEFAULT);
148 }
149
> 150 if (unlikely(fpu_mask & KFPU_387)) {
151 if (boot_cpu_has(X86_FEATURE_FPU))
152 asm volatile ("fninit");
153 }
154 }
155 EXPORT_SYMBOL_GPL(kernel_fpu_begin_mask);
156
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
drivers/media/v4l2-core/v4l2-async.c:846:10: warning: enumeration values 'V4L2_ASYNC_MATCH_CUSTOM' and 'V4L2_ASYNC_MATCH_DEVNAME' not handled in switch
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20210116-031938/Ezequiel-...
head: c752661bf6a21030f30dc4fc93b895e68dc23fcd
commit: c752661bf6a21030f30dc4fc93b895e68dc23fcd media: v4l2-async: Add waiting subdevices debugfs
date: 2 hours ago
config: powerpc64-randconfig-r016-20210115 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5b42fd8dd4e7e29125a09a41a33af7c9cb57d144)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/0day-ci/linux/commit/c752661bf6a21030f30dc4fc93b895e68...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20210116-031938/Ezequiel-Garcia/media-v4l2-async-Remove-V4L2_ASYNC_MATCH_CUSTOM/20210109-012059
git checkout c752661bf6a21030f30dc4fc93b895e68dc23fcd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
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 >>):
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/v4l2-core/v4l2-async.c:23:
In file included from include/media/v4l2-device.h:13:
In file included from include/media/v4l2-subdev.h:15:
In file included from include/media/v4l2-common.h:270:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:178:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/v4l2-core/v4l2-async.c:23:
In file included from include/media/v4l2-device.h:13:
In file included from include/media/v4l2-subdev.h:15:
In file included from include/media/v4l2-common.h:270:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:180:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/v4l2-core/v4l2-async.c:23:
In file included from include/media/v4l2-device.h:13:
In file included from include/media/v4l2-subdev.h:15:
In file included from include/media/v4l2-common.h:270:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:182:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/v4l2-core/v4l2-async.c:23:
In file included from include/media/v4l2-device.h:13:
In file included from include/media/v4l2-subdev.h:15:
In file included from include/media/v4l2-common.h:270:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:184:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/v4l2-core/v4l2-async.c:23:
In file included from include/media/v4l2-device.h:13:
In file included from include/media/v4l2-subdev.h:15:
In file included from include/media/v4l2-common.h:270:
In file included from include/linux/spi/spi.h:14:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:186:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> drivers/media/v4l2-core/v4l2-async.c:846:10: warning: enumeration values 'V4L2_ASYNC_MATCH_CUSTOM' and 'V4L2_ASYNC_MATCH_DEVNAME' not handled in switch [-Wswitch]
switch (asd->match_type) {
^
7 warnings generated.
vim +846 drivers/media/v4l2-core/v4l2-async.c
842
843 static void print_waiting_subdev(struct seq_file *s,
844 struct v4l2_async_subdev *asd)
845 {
> 846 switch (asd->match_type) {
847 case V4L2_ASYNC_MATCH_I2C:
848 seq_printf(s, " [i2c] dev=%d-%04x\n", asd->match.i2c.adapter_id,
849 asd->match.i2c.address);
850 break;
851 case V4L2_ASYNC_MATCH_FWNODE: {
852 struct fwnode_handle *devnode, *fwnode = asd->match.fwnode;
853
854 devnode = fwnode_graph_is_endpoint(fwnode) ?
855 fwnode_graph_get_port_parent(fwnode) :
856 fwnode_handle_get(fwnode);
857
858 seq_printf(s, " [fwnode] dev=%s, node=%pfw\n",
859 devnode->dev ? dev_name(devnode->dev) : "nil",
860 fwnode);
861
862 fwnode_handle_put(devnode);
863 break;
864 }
865 }
866 }
867
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
drivers/media/v4l2-core/v4l2-async.c:846:2: warning: enumeration value 'V4L2_ASYNC_MATCH_DEVNAME' not handled in switch
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20210116-031938/Ezequiel-...
head: c752661bf6a21030f30dc4fc93b895e68dc23fcd
commit: c752661bf6a21030f30dc4fc93b895e68dc23fcd media: v4l2-async: Add waiting subdevices debugfs
date: 2 hours ago
config: i386-randconfig-r013-20210115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/c752661bf6a21030f30dc4fc93b895e68...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20210116-031938/Ezequiel-Garcia/media-v4l2-async-Remove-V4L2_ASYNC_MATCH_CUSTOM/20210109-012059
git checkout c752661bf6a21030f30dc4fc93b895e68dc23fcd
# save the attached .config to linux build tree
make W=1 ARCH=i386
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/media/v4l2-core/v4l2-async.c: In function 'print_waiting_subdev':
drivers/media/v4l2-core/v4l2-async.c:846:2: warning: enumeration value 'V4L2_ASYNC_MATCH_CUSTOM' not handled in switch [-Wswitch]
846 | switch (asd->match_type) {
| ^~~~~~
>> drivers/media/v4l2-core/v4l2-async.c:846:2: warning: enumeration value 'V4L2_ASYNC_MATCH_DEVNAME' not handled in switch [-Wswitch]
vim +/V4L2_ASYNC_MATCH_DEVNAME +846 drivers/media/v4l2-core/v4l2-async.c
842
843 static void print_waiting_subdev(struct seq_file *s,
844 struct v4l2_async_subdev *asd)
845 {
> 846 switch (asd->match_type) {
847 case V4L2_ASYNC_MATCH_I2C:
848 seq_printf(s, " [i2c] dev=%d-%04x\n", asd->match.i2c.adapter_id,
849 asd->match.i2c.address);
850 break;
851 case V4L2_ASYNC_MATCH_FWNODE: {
852 struct fwnode_handle *devnode, *fwnode = asd->match.fwnode;
853
854 devnode = fwnode_graph_is_endpoint(fwnode) ?
855 fwnode_graph_get_port_parent(fwnode) :
856 fwnode_handle_get(fwnode);
857
858 seq_printf(s, " [fwnode] dev=%s, node=%pfw\n",
859 devnode->dev ? dev_name(devnode->dev) : "nil",
860 fwnode);
861
862 fwnode_handle_put(devnode);
863 break;
864 }
865 }
866 }
867
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
Re: [PATCH RFC 08/30] shmem/userfaultfd: Handle uffd-wp special pte in page fault handler
by kernel test robot
Hi Peter,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on asm-generic/master]
[cannot apply to arm64/for-next/core linus/master hnaz-linux-mm/master v5.11-rc3 next-20210115]
[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/Peter-Xu/userfaultfd-wp-Support-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master
config: powerpc64-randconfig-r015-20210115 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5b42fd8dd4e7e29125a09a41a33af7c9cb57d144)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/0day-ci/linux/commit/52b3f6cd15560c697c44ecfb34fd303f9...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20210116-011305
git checkout 52b3f6cd15560c697c44ecfb34fd303f9cc43ae2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
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 >>):
>> mm/memory.c:4380:12: warning: no previous prototype for function 'uffd_wp_handle_special' [-Wmissing-prototypes]
vm_fault_t uffd_wp_handle_special(struct vm_fault *vmf)
^
mm/memory.c:4380:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
vm_fault_t uffd_wp_handle_special(struct vm_fault *vmf)
^
static
1 warning generated.
vim +/uffd_wp_handle_special +4380 mm/memory.c
4375
4376 /*
4377 * This is actually a page-missing access, but with uffd-wp special pte
4378 * installed. It means this pte was wr-protected before being unmapped.
4379 */
> 4380 vm_fault_t uffd_wp_handle_special(struct vm_fault *vmf)
4381 {
4382 /* Careful! vmf->pte unmapped after return */
4383 if (!pte_unmap_same(vmf))
4384 return 0;
4385
4386 /*
4387 * Just in case there're leftover special ptes even after the region
4388 * got unregistered - we can simply clear them.
4389 */
4390 if (unlikely(!userfaultfd_wp(vmf->vma) || vma_is_anonymous(vmf->vma)))
4391 return uffd_wp_clear_special(vmf);
4392
4393 /*
4394 * Tell all the rest of the fault code: we're handling a special pte,
4395 * always remember to arm the uffd-wp bit when intalling the new pte.
4396 */
4397 vmf->flags |= FAULT_FLAG_UFFD_WP;
4398
4399 /*
4400 * Let's assume this is a read fault no matter what. If it is a real
4401 * write access, it'll fault again into do_wp_page() where the message
4402 * will be generated before the thread yields itself.
4403 *
4404 * Ideally we can also handle write immediately before return, but this
4405 * should be a slow path already (pte unmapped), so be simple first.
4406 */
4407 vmf->flags &= ~FAULT_FLAG_WRITE;
4408
4409 return do_fault(vmf);
4410 }
4411
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months