Re: [PATCH v17 02/10] of: Add a common kexec FDT setup function
by kernel test robot
Hi Lakshmi,
I love your patch! Yet something to improve:
[auto build test ERROR on integrity/next-integrity]
[also build test ERROR on v5.11-rc7 next-20210211]
[cannot apply to powerpc/next robh/for-next arm64/for-next/core]
[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/Lakshmi-Ramasubramanian/Carry-fo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity
config: x86_64-randconfig-m001-20210211 (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/12ae86067d115b84092353109e8798693...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Lakshmi-Ramasubramanian/Carry-forward-IMA-measurement-log-on-kexec-on-ARM64/20210211-071924
git checkout 12ae86067d115b84092353109e8798693d102f0d
# 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 >>):
drivers/of/kexec.c: In function 'of_kexec_alloc_and_setup_fdt':
>> drivers/of/kexec.c:183:17: error: 'const struct kimage_arch' has no member named 'elf_headers_mem'; did you mean 'elf_headers_sz'?
183 | image->arch.elf_headers_mem,
| ^~~~~~~~~~~~~~~
| elf_headers_sz
drivers/of/kexec.c:192:42: error: 'const struct kimage_arch' has no member named 'elf_headers_mem'; did you mean 'elf_headers_sz'?
192 | ret = fdt_add_mem_rsv(fdt, image->arch.elf_headers_mem,
| ^~~~~~~~~~~~~~~
| elf_headers_sz
vim +183 drivers/of/kexec.c
65
66 /*
67 * of_kexec_alloc_and_setup_fdt - Alloc and setup a new Flattened Device Tree
68 *
69 * @image: kexec image being loaded.
70 * @initrd_load_addr: Address where the next initrd will be loaded.
71 * @initrd_len: Size of the next initrd, or 0 if there will be none.
72 * @cmdline: Command line for the next kernel, or NULL if there will
73 * be none.
74 *
75 * Return: fdt on success, or NULL errno on error.
76 */
77 void *of_kexec_alloc_and_setup_fdt(const struct kimage *image,
78 unsigned long initrd_load_addr,
79 unsigned long initrd_len,
80 const char *cmdline)
81 {
82 void *fdt;
83 int ret, chosen_node;
84 const void *prop;
85 unsigned long fdt_size;
86
87 fdt_size = fdt_totalsize(initial_boot_params) +
88 (cmdline ? strlen(cmdline) : 0) +
89 FDT_EXTRA_SPACE;
90
91 fdt = kvmalloc(fdt_size, GFP_KERNEL);
92 if (!fdt)
93 return NULL;
94
95 ret = fdt_open_into(initial_boot_params, fdt, fdt_size);
96 if (ret < 0) {
97 pr_err("Error %d setting up the new device tree.\n", ret);
98 goto out;
99 }
100
101 /* Remove memory reservation for the current device tree. */
102 ret = fdt_find_and_del_mem_rsv(fdt, __pa(initial_boot_params),
103 fdt_totalsize(initial_boot_params));
104 if (ret == -EINVAL) {
105 pr_err("Error removing memory reservation.\n");
106 goto out;
107 }
108
109 chosen_node = fdt_path_offset(fdt, "/chosen");
110 if (chosen_node == -FDT_ERR_NOTFOUND)
111 chosen_node = fdt_add_subnode(fdt, fdt_path_offset(fdt, "/"),
112 "chosen");
113 if (chosen_node < 0) {
114 ret = chosen_node;
115 goto out;
116 }
117
118 ret = fdt_delprop(fdt, chosen_node, FDT_PROP_KEXEC_ELFHDR);
119 if (ret && ret != -FDT_ERR_NOTFOUND)
120 goto out;
121 ret = fdt_delprop(fdt, chosen_node, FDT_PROP_MEM_RANGE);
122 if (ret && ret != -FDT_ERR_NOTFOUND)
123 goto out;
124
125 /* Did we boot using an initrd? */
126 prop = fdt_getprop(fdt, chosen_node, "linux,initrd-start", NULL);
127 if (prop) {
128 u64 tmp_start, tmp_end, tmp_size;
129
130 tmp_start = fdt64_to_cpu(*((const fdt64_t *) prop));
131
132 prop = fdt_getprop(fdt, chosen_node, "linux,initrd-end", NULL);
133 if (!prop) {
134 ret = -EINVAL;
135 goto out;
136 }
137
138 tmp_end = fdt64_to_cpu(*((const fdt64_t *) prop));
139
140 /*
141 * kexec reserves exact initrd size, while firmware may
142 * reserve a multiple of PAGE_SIZE, so check for both.
143 */
144 tmp_size = tmp_end - tmp_start;
145 ret = fdt_find_and_del_mem_rsv(fdt, tmp_start, tmp_size);
146 if (ret == -ENOENT)
147 ret = fdt_find_and_del_mem_rsv(fdt, tmp_start,
148 round_up(tmp_size, PAGE_SIZE));
149 if (ret == -EINVAL)
150 goto out;
151 }
152
153 /* add initrd-* */
154 if (initrd_load_addr) {
155 ret = fdt_setprop_u64(fdt, chosen_node, FDT_PROP_INITRD_START,
156 initrd_load_addr);
157 if (ret)
158 goto out;
159
160 ret = fdt_setprop_u64(fdt, chosen_node, FDT_PROP_INITRD_END,
161 initrd_load_addr + initrd_len);
162 if (ret)
163 goto out;
164
165 ret = fdt_add_mem_rsv(fdt, initrd_load_addr, initrd_len);
166 if (ret)
167 goto out;
168
169 } else {
170 ret = fdt_delprop(fdt, chosen_node, FDT_PROP_INITRD_START);
171 if (ret && (ret != -FDT_ERR_NOTFOUND))
172 goto out;
173
174 ret = fdt_delprop(fdt, chosen_node, FDT_PROP_INITRD_END);
175 if (ret && (ret != -FDT_ERR_NOTFOUND))
176 goto out;
177 }
178
179 if (image->type == KEXEC_TYPE_CRASH) {
180 /* add linux,elfcorehdr */
181 ret = fdt_appendprop_addrrange(fdt, 0, chosen_node,
182 FDT_PROP_KEXEC_ELFHDR,
> 183 image->arch.elf_headers_mem,
---
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 v3 1/2] thermal: armada: ap806: use firmware SiP services for thermal operations
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on clk/clk-next]
[also build test WARNING on linus/master 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/kostap-marvell-com/Enable-usage-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: i386-randconfig-s002-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://github.com/0day-ci/linux/commit/f3d1a200c085eb2518257982a822f0671...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review kostap-marvell-com/Enable-usage-of-Marvell-FW-SIP-services/20210211-220917
git checkout f3d1a200c085eb2518257982a822f06711a7ce95
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/thermal/armada_thermal.c:295:52: sparse: sparse: Using plain integer as NULL pointer
drivers/thermal/armada_thermal.c:644:57: sparse: sparse: Using plain integer as NULL pointer
vim +295 drivers/thermal/armada_thermal.c
279
280 static void armada_ap806_init(struct platform_device *pdev,
281 struct armada_thermal_priv *priv)
282 {
283 struct armada_thermal_data *data = priv->data;
284 u32 reg;
285 int ret;
286
287 /*
288 * The ap806 thermal sensor registers are part of DFX which is secured
289 * by latest firmware, therefore accessing relevant registers from
290 * not-secure world will not be possible. In that case Arm Trusted
291 * Firmware exposes thermal operations as firmware run-time service. If
292 * SMC initialization succeeds, perform other thermal operations using
293 * SMC, otherwise (old fw case) fallback to regmap handling.
294 */
> 295 ret = thermal_smc(MV_SIP_DFX_THERMAL_INIT, 0x0, 0, 0);
296 if (ret == SMCCC_RET_SUCCESS) {
297 dev_info(&pdev->dev, "firmware support\n");
298 THERMAL_SUPPORTED_IN_FIRMWARE(priv) = true;
299 return;
300 }
301
302 regmap_read(priv->syscon, data->syscon_control0_off, ®);
303 reg &= ~CONTROL0_TSEN_RESET;
304 reg |= CONTROL0_TSEN_START | CONTROL0_TSEN_ENABLE;
305
306 /* Sample every ~2ms */
307 reg |= CONTROL0_TSEN_OSR_MAX << CONTROL0_TSEN_OSR_SHIFT;
308
309 /* Enable average (2 samples by default) */
310 reg &= ~CONTROL0_TSEN_AVG_BYPASS;
311
312 regmap_write(priv->syscon, data->syscon_control0_off, reg);
313 }
314
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
include/linux/compiler_types.h:338:38: error: call to '__compiletime_assert_303' declared with attribute error: BUILD_BUG_ON failed: SECTIONS_WIDTH + NODES_WIDTH + ZONES_WIDTH + ilog2(roundup_pow_of_two(NR_CPUS)) > 32
by kernel test robot
Hi Will,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h
date: 7 months ago
config: sparc64-randconfig-r026-20210209 (attached as .config)
compiler: sparc64-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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc64
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>:
arch/sparc/mm/init_64.c: In function 'paging_init':
>> include/linux/compiler_types.h:338:38: error: call to '__compiletime_assert_303' declared with attribute error: BUILD_BUG_ON failed: SECTIONS_WIDTH + NODES_WIDTH + ZONES_WIDTH + ilog2(roundup_pow_of_two(NR_CPUS)) > 32
338 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:319:4: note: in definition of macro '__compiletime_assert'
319 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:338:2: note: in expansion of macro '_compiletime_assert'
338 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
arch/sparc/mm/init_64.c:2306:2: note: in expansion of macro 'BUILD_BUG_ON'
2306 | BUILD_BUG_ON(SECTIONS_WIDTH + NODES_WIDTH + ZONES_WIDTH +
| ^~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS || MCOUNT
Selected by
- LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86
vim +/__compiletime_assert_303 +338 include/linux/compiler_types.h
324
325 #define _compiletime_assert(condition, msg, prefix, suffix) \
326 __compiletime_assert(condition, msg, prefix, suffix)
327
328 /**
329 * compiletime_assert - break build and emit msg if condition is false
330 * @condition: a compile-time constant condition to check
331 * @msg: a message to emit if condition is false
332 *
333 * In tradition of POSIX assert, this macro will break the build if the
334 * supplied condition is *false*, emitting the supplied error message if the
335 * compiler has support to do so.
336 */
337 #define compiletime_assert(condition, msg) \
> 338 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
339
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
drivers/media/common/videobuf2/videobuf2-vmalloc.c:108:12: error: implicit declaration of function '__pfn_to_phys'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: 4bfc848e0981fcd35db00fe1c6581560689f6dc7 m68k/mm: enable use of generic memory_model.h for !DISCONTIGMEM
date: 8 weeks ago
config: m68k-randconfig-r035-20210209 (attached as .config)
compiler: m68k-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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4bfc848e0981fcd35db00fe1c6581560689f6dc7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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 include/linux/io.h:10,
from drivers/media/common/videobuf2/videobuf2-vmalloc.c:13:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_no.h:33:50: warning: ordered comparison of pointer with null pointer [-Wextra]
33 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/media/common/videobuf2/videobuf2-vmalloc.c: In function 'vb2_vmalloc_get_userptr':
>> drivers/media/common/videobuf2/videobuf2-vmalloc.c:108:12: error: implicit declaration of function '__pfn_to_phys' [-Werror=implicit-function-declaration]
108 | ioremap(__pfn_to_phys(nums[0]), size + offset);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/__pfn_to_phys +108 drivers/media/common/videobuf2/videobuf2-vmalloc.c
3c18ff06d811f7 drivers/media/video/videobuf2-vmalloc.c Pawel Osciak 2010-10-11 73
36c0f8b32c4bd4 drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-04-15 74 static void *vb2_vmalloc_get_userptr(struct device *dev, unsigned long vaddr,
cd474037c4a9a9 drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2014-11-18 75 unsigned long size,
cd474037c4a9a9 drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2014-11-18 76 enum dma_data_direction dma_dir)
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 77 {
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 78 struct vb2_vmalloc_buf *buf;
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 79 struct frame_vector *vec;
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 80 int n_pages, offset, i;
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 81 int ret = -ENOMEM;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 82
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 83 buf = kzalloc(sizeof(*buf), GFP_KERNEL);
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 84 if (!buf)
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 85 return ERR_PTR(-ENOMEM);
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 86
cd474037c4a9a9 drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2014-11-18 87 buf->dma_dir = dma_dir;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 88 offset = vaddr & ~PAGE_MASK;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 89 buf->size = size;
707947247e9517 drivers/media/common/videobuf2/videobuf2-vmalloc.c Hans Verkuil 2019-04-04 90 vec = vb2_create_framevec(vaddr, size);
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 91 if (IS_ERR(vec)) {
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 92 ret = PTR_ERR(vec);
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 93 goto fail_pfnvec_create;
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 94 }
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 95 buf->vec = vec;
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 96 n_pages = frame_vector_count(vec);
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 97 if (frame_vector_to_pages(vec) < 0) {
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 98 unsigned long *nums = frame_vector_pfns(vec);
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 99
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 100 /*
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 101 * We cannot get page pointers for these pfns. Check memory is
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 102 * physically contiguous and use direct mapping.
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 103 */
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 104 for (i = 1; i < n_pages; i++)
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 105 if (nums[i-1] + 1 != nums[i])
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 106 goto fail_map;
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 107 buf->vaddr = (__force void *)
4bdc0d676a6431 drivers/media/common/videobuf2/videobuf2-vmalloc.c Christoph Hellwig 2020-01-06 @108 ioremap(__pfn_to_phys(nums[0]), size + offset);
570d2a48b70094 drivers/media/video/videobuf2-vmalloc.c Javier Martin 2012-02-16 109 } else {
d4efd79a81abc7 drivers/media/common/videobuf2/videobuf2-vmalloc.c Christoph Hellwig 2020-06-01 110 buf->vaddr = vm_map_ram(frame_vector_pages(vec), n_pages, -1);
570d2a48b70094 drivers/media/video/videobuf2-vmalloc.c Javier Martin 2012-02-16 111 }
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 112
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 113 if (!buf->vaddr)
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 114 goto fail_map;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 115 buf->vaddr += offset;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 116 return buf;
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 117
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 118 fail_map:
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 119 vb2_destroy_framevec(vec);
5a9e4dec393a2c drivers/media/v4l2-core/videobuf2-vmalloc.c Jan Kara 2015-07-13 120 fail_pfnvec_create:
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 121 kfree(buf);
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 122
0ff657b0f6120c drivers/media/v4l2-core/videobuf2-vmalloc.c Hans Verkuil 2016-07-21 123 return ERR_PTR(ret);
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 124 }
4419b8aca8dc13 drivers/media/video/videobuf2-vmalloc.c Andrzej Pietrasiewicz 2011-10-13 125
:::::: The code at line 108 was first introduced by commit
:::::: 4bdc0d676a643140bdf17dbf7eafedee3d496a3c remove ioremap_nocache and devm_ioremap_nocache
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
drivers/leds/flash/leds-rt8515.c:354: undefined reference to `v4l2_flash_init'
by kernel test robot
Hi Linus,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: e1c6edcbea13de025c3406645b4cce4ac3baf973 leds: rt8515: Add Richtek RT8515 LED driver
date: 11 days ago
config: i386-randconfig-a005-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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e1c6edcbea13de025c3406645b4cce4ac3baf973
# 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 errors (new ones prefixed by >>):
ld: drivers/leds/flash/leds-rt8515.o: in function `rt8515_v4l2_flash_release':
drivers/leds/flash/leds-rt8515.c:216: undefined reference to `v4l2_flash_release'
ld: drivers/leds/flash/leds-rt8515.o: in function `rt8515_probe':
>> drivers/leds/flash/leds-rt8515.c:354: undefined reference to `v4l2_flash_init'
vim +354 drivers/leds/flash/leds-rt8515.c
275
276 static int rt8515_probe(struct platform_device *pdev)
277 {
278 struct device *dev = &pdev->dev;
279 struct fwnode_handle *child;
280 struct rt8515 *rt;
281 struct led_classdev *led;
282 struct led_classdev_flash *fled;
283 struct led_init_data init_data = {};
284 struct v4l2_flash_config v4l2_sd_cfg = {};
285 int ret;
286
287 rt = devm_kzalloc(dev, sizeof(*rt), GFP_KERNEL);
288 if (!rt)
289 return -ENOMEM;
290
291 rt->dev = dev;
292 fled = &rt->fled;
293 led = &fled->led_cdev;
294
295 /* ENF - Enable Flash line */
296 rt->enable_flash = devm_gpiod_get(dev, "enf", GPIOD_OUT_LOW);
297 if (IS_ERR(rt->enable_flash))
298 return dev_err_probe(dev, PTR_ERR(rt->enable_flash),
299 "cannot get ENF (enable flash) GPIO\n");
300
301 /* ENT - Enable Torch line */
302 rt->enable_torch = devm_gpiod_get(dev, "ent", GPIOD_OUT_LOW);
303 if (IS_ERR(rt->enable_torch))
304 return dev_err_probe(dev, PTR_ERR(rt->enable_torch),
305 "cannot get ENT (enable torch) GPIO\n");
306
307 child = fwnode_get_next_available_child_node(dev->fwnode, NULL);
308 if (!child) {
309 dev_err(dev,
310 "No fwnode child node found for connected LED.\n");
311 return -EINVAL;
312 }
313 init_data.fwnode = child;
314
315 rt8515_determine_max_intensity(rt, child, "richtek,rfs-ohms",
316 "flash-max-microamp",
317 RT8515_FLASH_MAX,
318 &rt->flash_max_intensity);
319 rt8515_determine_max_intensity(rt, child, "richtek,rts-ohms",
320 "led-max-microamp",
321 RT8515_TORCH_MAX,
322 &rt->torch_max_intensity);
323
324 ret = fwnode_property_read_u32(child, "flash-max-timeout-us",
325 &rt->max_timeout);
326 if (ret) {
327 rt->max_timeout = RT8515_MAX_TIMEOUT_US;
328 dev_warn(dev,
329 "flash-max-timeout-us property missing\n");
330 }
331 timer_setup(&rt->powerdown_timer, rt8515_powerdown_timer, 0);
332 rt8515_init_flash_timeout(rt);
333
334 fled->ops = &rt8515_flash_ops;
335
336 led->max_brightness = rt->torch_max_intensity;
337 led->brightness_set_blocking = rt8515_led_brightness_set;
338 led->flags |= LED_CORE_SUSPENDRESUME | LED_DEV_CAP_FLASH;
339
340 mutex_init(&rt->lock);
341
342 platform_set_drvdata(pdev, rt);
343
344 ret = devm_led_classdev_flash_register_ext(dev, fled, &init_data);
345 if (ret) {
346 dev_err(dev, "can't register LED %s\n", led->name);
347 mutex_destroy(&rt->lock);
348 return ret;
349 }
350
351 rt8515_init_v4l2_flash_config(rt, &v4l2_sd_cfg);
352
353 /* Create a V4L2 Flash device if V4L2 flash is enabled */
> 354 rt->v4l2_flash = v4l2_flash_init(dev, child, fled, NULL, &v4l2_sd_cfg);
355 if (IS_ERR(rt->v4l2_flash)) {
356 ret = PTR_ERR(rt->v4l2_flash);
357 dev_err(dev, "failed to register V4L2 flash device (%d)\n",
358 ret);
359 /*
360 * Continue without the V4L2 flash
361 * (we still have the classdev)
362 */
363 }
364
365 return 0;
366 }
367
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [hyperv-linux:hyperv-next 22/32] arch/x86/hyperv/hv_init.c:366:21: sparse: sparse: incorrect type in assignment (different address spaces)
by Wei Liu
On Wed, Feb 10, 2021 at 06:13:22PM +0000, Michael Kelley wrote:
> From: Wei Liu <wei.liu(a)kernel.org>
> > > >
> > > > "sparse warnings: (new ones prefixed by >>)"
> > > > arch/x86/hyperv/hv_init.c:90:30: sparse: sparse: incorrect type in initializer (different
> > address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got
> > void [noderef] __percpu ** @@
> > > > arch/x86/hyperv/hv_init.c:90:30: sparse: expected void const [noderef] __percpu
> > *__vpp_verify
> > > > arch/x86/hyperv/hv_init.c:90:30: sparse: got void [noderef] __percpu **
> > > > arch/x86/hyperv/hv_init.c:95:39: sparse: sparse: incorrect type in initializer (different
> > address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got
> > void [noderef] __percpu ** @@
> > > > arch/x86/hyperv/hv_init.c:95:39: sparse: expected void const [noderef] __percpu
> > *__vpp_verify
> > > > arch/x86/hyperv/hv_init.c:95:39: sparse: got void [noderef] __percpu **
> > >
> > > I don't think this class of issue is newly introduced specifically by
> > > the Linux root partition changes.
> > >
> > > Sparse is complaining the pointer types don't match. GCC doesn't
> > > actually care.
> > >
> > > Off the top of my head, this should be fixable by using the __force
> > > annotation. But that means littering that everywhere. That does not look
> > > nice.
> > >
> > > Thoughts?
> >
> > One way of doing it would be to provide helpers like
> > hv_get_hypercall_input_arg and hv_get_hypercall_output_arg. The __force
> > annotation is going to be enclosed with these two functions. We still
> > need to replace all the this_cpu_ptr(XXX) with the helpers, so code
> > churn is inevitable.
> >
> > If people deem these issues important enough to fix and we agree on an
> > approach I don't mind writing a patch myself.
> >
>
> Without your helpers proposal, where would you put the __force
> annotation?
Basically in every location we switch to
X = (__force *)this_cpu_ptr(Y);
With helpers it will look like
X = hv_get_hypercall_input_arg();
__force is then encapsulated in the helpers. That would be much easier
to reason about.
I haven't written any code yet because I want to reproduce these issues
first. I tried doing that a few days ago. Unfortunately the stock
Sparse that comes with Debian segfaulted long before it got to Hyper-V
code.
> It's not clear to me that the assignment to the local variable
> "input_arg" is the problem. To me, the error looks more like it is coming from
> the __verify_pcpu_ptr() macro, which is where __vpp_verify is defined and
> initialized.
>
I can't find my reference anymore, but to me this class of issues look to stem
from the type mismatch derived from the annotation of __percpu in
include/linux/compiler_types.h.
# define __percpu __attribute__((noderef, address_space(__percpu)))
Notice the "different address space" in the logs. The pointers in code are
not annotated, so they are in a different address space to Sparse.
Wei.
> Michael
1 year, 7 months
[linux-next:master 7895/10581] arch/mips/include/asm/spinlock.h:17:28: error: redefinition of 'queued_spin_unlock'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 671176b0016c80b3943cb5387312c886aba3308d
commit: 26128cb6c7e6731fe644c687af97733adfdb5ee9 [7895/10581] locking/rwlocks: Add contention detection for rwlocks
config: mips-allyesconfig (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://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 26128cb6c7e6731fe644c687af97733adfdb5ee9
# 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 include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
>> arch/mips/include/asm/spinlock.h:17:28: error: redefinition of 'queued_spin_unlock'
17 | #define queued_spin_unlock queued_spin_unlock
| ^~~~~~~~~~~~~~~~~~
arch/mips/include/asm/spinlock.h:22:20: note: in expansion of macro 'queued_spin_unlock'
22 | static inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/qrwlock.h:17,
from ./arch/mips/include/generated/asm/qrwlock.h:1,
from arch/mips/include/asm/spinlock.h:13,
from include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
include/asm-generic/qspinlock.h:94:29: note: previous definition of 'queued_spin_unlock' was here
94 | static __always_inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:26:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes]
26 | void output_ptreg_defines(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:78:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes]
78 | void output_task_defines(void)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:93:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes]
93 | void output_thread_info_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:110:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes]
110 | void output_thread_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:138:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes]
138 | void output_thread_fpu_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:181:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes]
181 | void output_mm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:220:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes]
220 | void output_sc_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:255:6: warning: no previous prototype for 'output_signal_defined' [-Wmissing-prototypes]
255 | void output_signal_defined(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:322:6: warning: no previous prototype for 'output_pbe_defines' [-Wmissing-prototypes]
322 | void output_pbe_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:334:6: warning: no previous prototype for 'output_pm_defines' [-Wmissing-prototypes]
334 | void output_pm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:348:6: warning: no previous prototype for 'output_kvm_defines' [-Wmissing-prototypes]
348 | void output_kvm_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:392:6: warning: no previous prototype for 'output_cps_defines' [-Wmissing-prototypes]
392 | void output_cps_defines(void)
| ^~~~~~~~~~~~~~~~~~
--
In file included from include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
>> arch/mips/include/asm/spinlock.h:17:28: error: redefinition of 'queued_spin_unlock'
17 | #define queued_spin_unlock queued_spin_unlock
| ^~~~~~~~~~~~~~~~~~
arch/mips/include/asm/spinlock.h:22:20: note: in expansion of macro 'queued_spin_unlock'
22 | static inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/qrwlock.h:17,
from ./arch/mips/include/generated/asm/qrwlock.h:1,
from arch/mips/include/asm/spinlock.h:13,
from include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
include/asm-generic/qspinlock.h:94:29: note: previous definition of 'queued_spin_unlock' was here
94 | static __always_inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:26:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes]
26 | void output_ptreg_defines(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:78:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes]
78 | void output_task_defines(void)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:93:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes]
93 | void output_thread_info_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:110:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes]
110 | void output_thread_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:138:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes]
138 | void output_thread_fpu_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:181:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes]
181 | void output_mm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:220:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes]
220 | void output_sc_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:255:6: warning: no previous prototype for 'output_signal_defined' [-Wmissing-prototypes]
255 | void output_signal_defined(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:322:6: warning: no previous prototype for 'output_pbe_defines' [-Wmissing-prototypes]
322 | void output_pbe_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:334:6: warning: no previous prototype for 'output_pm_defines' [-Wmissing-prototypes]
334 | void output_pm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:348:6: warning: no previous prototype for 'output_kvm_defines' [-Wmissing-prototypes]
348 | void output_kvm_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:392:6: warning: no previous prototype for 'output_cps_defines' [-Wmissing-prototypes]
392 | void output_cps_defines(void)
| ^~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:117: arch/mips/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1206: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
>> arch/mips/include/asm/spinlock.h:17:28: error: redefinition of 'queued_spin_unlock'
17 | #define queued_spin_unlock queued_spin_unlock
| ^~~~~~~~~~~~~~~~~~
arch/mips/include/asm/spinlock.h:22:20: note: in expansion of macro 'queued_spin_unlock'
22 | static inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/qrwlock.h:17,
from ./arch/mips/include/generated/asm/qrwlock.h:1,
from arch/mips/include/asm/spinlock.h:13,
from include/linux/spinlock.h:90,
from include/linux/ipc.h:5,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/mips/kernel/asm-offsets.c:12:
include/asm-generic/qspinlock.h:94:29: note: previous definition of 'queued_spin_unlock' was here
94 | static __always_inline void queued_spin_unlock(struct qspinlock *lock)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:26:6: warning: no previous prototype for 'output_ptreg_defines' [-Wmissing-prototypes]
26 | void output_ptreg_defines(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:78:6: warning: no previous prototype for 'output_task_defines' [-Wmissing-prototypes]
78 | void output_task_defines(void)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:93:6: warning: no previous prototype for 'output_thread_info_defines' [-Wmissing-prototypes]
93 | void output_thread_info_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:110:6: warning: no previous prototype for 'output_thread_defines' [-Wmissing-prototypes]
110 | void output_thread_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:138:6: warning: no previous prototype for 'output_thread_fpu_defines' [-Wmissing-prototypes]
138 | void output_thread_fpu_defines(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:181:6: warning: no previous prototype for 'output_mm_defines' [-Wmissing-prototypes]
181 | void output_mm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:220:6: warning: no previous prototype for 'output_sc_defines' [-Wmissing-prototypes]
220 | void output_sc_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:255:6: warning: no previous prototype for 'output_signal_defined' [-Wmissing-prototypes]
255 | void output_signal_defined(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:322:6: warning: no previous prototype for 'output_pbe_defines' [-Wmissing-prototypes]
322 | void output_pbe_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:334:6: warning: no previous prototype for 'output_pm_defines' [-Wmissing-prototypes]
334 | void output_pm_defines(void)
| ^~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:348:6: warning: no previous prototype for 'output_kvm_defines' [-Wmissing-prototypes]
348 | void output_kvm_defines(void)
| ^~~~~~~~~~~~~~~~~~
arch/mips/kernel/asm-offsets.c:392:6: warning: no previous prototype for 'output_cps_defines' [-Wmissing-prototypes]
392 | void output_cps_defines(void)
| ^~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:117: arch/mips/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1206: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/queued_spin_unlock +17 arch/mips/include/asm/spinlock.h
346e91ee090b07 Will Deacon 2019-02-22 16
346e91ee090b07 Will Deacon 2019-02-22 @17 #define queued_spin_unlock queued_spin_unlock
346e91ee090b07 Will Deacon 2019-02-22 18 /**
346e91ee090b07 Will Deacon 2019-02-22 19 * queued_spin_unlock - release a queued spinlock
346e91ee090b07 Will Deacon 2019-02-22 20 * @lock : Pointer to queued spinlock structure
346e91ee090b07 Will Deacon 2019-02-22 21 */
346e91ee090b07 Will Deacon 2019-02-22 22 static inline void queued_spin_unlock(struct qspinlock *lock)
346e91ee090b07 Will Deacon 2019-02-22 23 {
346e91ee090b07 Will Deacon 2019-02-22 24 /* This could be optimised with ARCH_HAS_MMIOWB */
346e91ee090b07 Will Deacon 2019-02-22 25 mmiowb();
346e91ee090b07 Will Deacon 2019-02-22 26 smp_store_release(&lock->locked, 0);
346e91ee090b07 Will Deacon 2019-02-22 27 }
346e91ee090b07 Will Deacon 2019-02-22 28
:::::: The code at line 17 was first introduced by commit
:::::: 346e91ee090b07da8d15e36bc3169ddea6968713 mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
:::::: TO: Will Deacon <will.deacon(a)arm.com>
:::::: CC: Will Deacon <will.deacon(a)arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[drm-drm-intel:topic/core-for-CI 20/29] arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
by kernel test robot
tree: git://anongit.freedesktop.org/drm/drm-intel topic/core-for-CI
head: be9bde5a8b7b5cff58bd01c8ca094d571295c40b
commit: e1a0452de227ed792fe295b03139bd2ec9fe5577 [20/29] Revert "drm/i915: Don't select BROKEN"
config: powerpc64-randconfig-r015-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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
git remote add drm-drm-intel git://anongit.freedesktop.org/drm/drm-intel
git fetch --no-tags drm-drm-intel topic/core-for-CI
git checkout e1a0452de227ed792fe295b03139bd2ec9fe5577
# 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 errors (new ones prefixed by >>):
>> arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
arch/powerpc/platforms/embedded6xx/Kconfig:2: symbol EMBEDDED6xx depends on BROKEN_ON_SMP
init/Kconfig:102: symbol BROKEN_ON_SMP depends on BROKEN
init/Kconfig:99: symbol BROKEN is selected by DRM_I915_DEBUG
drivers/gpu/drm/i915/Kconfig.debug:19: symbol DRM_I915_DEBUG depends on DRM_I915
drivers/gpu/drm/i915/Kconfig:2: symbol DRM_I915 depends on DRM
drivers/gpu/drm/Kconfig:8: symbol DRM depends on AGP
drivers/char/agp/Kconfig:2: symbol AGP depends on PCI
drivers/pci/Kconfig:16: symbol PCI depends on HAVE_PCI
drivers/pci/Kconfig:7: symbol HAVE_PCI is selected by FORCE_PCI
drivers/pci/Kconfig:11: symbol FORCE_PCI is selected by MVME5100
arch/powerpc/platforms/embedded6xx/Kconfig:51: symbol MVME5100 depends on EMBEDDED6xx
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
vim +2 arch/powerpc/platforms/embedded6xx/Kconfig
a35e370cfd2ddf Arnd Bergmann 2007-08-30 @2 config EMBEDDED6xx
a35e370cfd2ddf Arnd Bergmann 2007-08-30 3 bool "Embedded 6xx/7xx/7xxx-based boards"
be34fff07c3755 Christophe Leroy 2018-11-17 4 depends on PPC_BOOK3S_32 && BROKEN_ON_SMP
14cf11af6cf608 Paul Mackerras 2005-09-26 5
:::::: The code at line 2 was first introduced by commit
:::::: a35e370cfd2ddfb5d2f0ceae376ffeda273b357c [POWERPC] Move embedded6xx into multiplatform
:::::: TO: Arnd Bergmann <arnd(a)arndb.de>
:::::: CC: Paul Mackerras <paulus(a)samba.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
include/linux/compiler_types.h:319:38: error: call to '__compiletime_assert_234' declared with attribute error: BUILD_BUG_ON failed: FIX_KMAP_SLOTS > PTRS_PER_PTE
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 291009f656e8eaebbdfd3a8d99f6b190a9ce9deb
commit: 6e799cb69a70eedbb41561b750f7180c12cff280 mm/highmem: Provide and use CONFIG_DEBUG_KMAP_LOCAL
date: 3 months ago
config: arc-randconfig-r032-20210209 (attached as .config)
compiler: arceb-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6e799cb69a70eedbb41561b750f7180c12cff280
# 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 errors (new ones prefixed by >>):
In file included from <command-line>:
arch/arc/mm/highmem.c: In function 'kmap_init':
>> include/linux/compiler_types.h:319:38: error: call to '__compiletime_assert_234' declared with attribute error: BUILD_BUG_ON failed: FIX_KMAP_SLOTS > PTRS_PER_PTE
319 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:300:4: note: in definition of macro '__compiletime_assert'
300 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:319:2: note: in expansion of macro '_compiletime_assert'
319 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
arch/arc/mm/highmem.c:69:2: note: in expansion of macro 'BUILD_BUG_ON'
69 | BUILD_BUG_ON(FIX_KMAP_SLOTS > PTRS_PER_PTE);
| ^~~~~~~~~~~~
vim +/__compiletime_assert_234 +319 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 305
eb5c2d4b45e3d2 Will Deacon 2020-07-21 306 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 307 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 308
eb5c2d4b45e3d2 Will Deacon 2020-07-21 309 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 310 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 311 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 312 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 313 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 314 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 315 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 316 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 317 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 318 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @319 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 320
:::::: The code at line 319 was first introduced by commit
:::::: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h
:::::: TO: Will Deacon <will(a)kernel.org>
:::::: CC: Will Deacon <will(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months