Re: [PATCH V7 04/10] remoteproc: add is_iomem to da_to_va
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.11-rc4 next-20210118]
[cannot apply to remoteproc/for-next rpmsg/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/peng-fan-nxp-com/remoteproc-imx_...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arc-randconfig-s032-20210118 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://github.com/0day-ci/linux/commit/9d358237628eb3aa161d3bec62ca85170...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review peng-fan-nxp-com/remoteproc-imx_rproc-support-iMX8MQ-M/20210118-215317
git checkout 9d358237628eb3aa161d3bec62ca851706a78f22
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
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/remoteproc/remoteproc_elf_loader.c:219:61: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char const [usertype] * @@
drivers/remoteproc/remoteproc_elf_loader.c:219:61: sparse: expected void const volatile [noderef] __iomem *addr
drivers/remoteproc/remoteproc_elf_loader.c:219:61: sparse: got unsigned char const [usertype] *
>> drivers/remoteproc/remoteproc_elf_loader.c:233:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/remoteproc/remoteproc_elf_loader.c:233:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/remoteproc/remoteproc_elf_loader.c:233:47: sparse: got void *
--
>> drivers/remoteproc/remoteproc_coredump.c:169:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *[assigned] ptr @@
drivers/remoteproc/remoteproc_coredump.c:169:53: sparse: expected void const volatile [noderef] __iomem *addr
drivers/remoteproc/remoteproc_coredump.c:169:53: sparse: got void *[assigned] ptr
vim +219 drivers/remoteproc/remoteproc_elf_loader.c
131
132 /**
133 * rproc_elf_load_segments() - load firmware segments to memory
134 * @rproc: remote processor which will be booted using these fw segments
135 * @fw: the ELF firmware image
136 *
137 * This function loads the firmware segments to memory, where the remote
138 * processor expects them.
139 *
140 * Some remote processors will expect their code and data to be placed
141 * in specific device addresses, and can't have them dynamically assigned.
142 *
143 * We currently support only those kind of remote processors, and expect
144 * the program header's paddr member to contain those addresses. We then go
145 * through the physically contiguous "carveout" memory regions which we
146 * allocated (and mapped) earlier on behalf of the remote processor,
147 * and "translate" device address to kernel addresses, so we can copy the
148 * segments where they are expected.
149 *
150 * Currently we only support remote processors that required carveout
151 * allocations and got them mapped onto their iommus. Some processors
152 * might be different: they might not have iommus, and would prefer to
153 * directly allocate memory for every segment/resource. This is not yet
154 * supported, though.
155 */
156 int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw)
157 {
158 struct device *dev = &rproc->dev;
159 const void *ehdr, *phdr;
160 int i, ret = 0;
161 u16 phnum;
162 const u8 *elf_data = fw->data;
163 u8 class = fw_elf_get_class(fw);
164 u32 elf_phdr_get_size = elf_size_of_phdr(class);
165
166 ehdr = elf_data;
167 phnum = elf_hdr_get_e_phnum(class, ehdr);
168 phdr = elf_data + elf_hdr_get_e_phoff(class, ehdr);
169
170 /* go through the available ELF segments */
171 for (i = 0; i < phnum; i++, phdr += elf_phdr_get_size) {
172 u64 da = elf_phdr_get_p_paddr(class, phdr);
173 u64 memsz = elf_phdr_get_p_memsz(class, phdr);
174 u64 filesz = elf_phdr_get_p_filesz(class, phdr);
175 u64 offset = elf_phdr_get_p_offset(class, phdr);
176 u32 type = elf_phdr_get_p_type(class, phdr);
177 void *ptr;
178 bool is_iomem;
179
180 if (type != PT_LOAD)
181 continue;
182
183 dev_dbg(dev, "phdr: type %d da 0x%llx memsz 0x%llx filesz 0x%llx\n",
184 type, da, memsz, filesz);
185
186 if (filesz > memsz) {
187 dev_err(dev, "bad phdr filesz 0x%llx memsz 0x%llx\n",
188 filesz, memsz);
189 ret = -EINVAL;
190 break;
191 }
192
193 if (offset + filesz > fw->size) {
194 dev_err(dev, "truncated fw: need 0x%llx avail 0x%zx\n",
195 offset + filesz, fw->size);
196 ret = -EINVAL;
197 break;
198 }
199
200 if (!rproc_u64_fit_in_size_t(memsz)) {
201 dev_err(dev, "size (%llx) does not fit in size_t type\n",
202 memsz);
203 ret = -EOVERFLOW;
204 break;
205 }
206
207 /* grab the kernel address for this device address */
208 ptr = rproc_da_to_va(rproc, da, memsz, &is_iomem);
209 if (!ptr) {
210 dev_err(dev, "bad phdr da 0x%llx mem 0x%llx\n", da,
211 memsz);
212 ret = -EINVAL;
213 break;
214 }
215
216 /* put the segment where the remote processor expects it */
217 if (filesz) {
218 if (is_iomem)
> 219 memcpy_fromio(ptr, elf_data + offset, filesz);
220 else
221 memcpy(ptr, elf_data + offset, filesz);
222 }
223
224 /*
225 * Zero out remaining memory for this segment.
226 *
227 * This isn't strictly required since dma_alloc_coherent already
228 * did this for us. albeit harmless, we may consider removing
229 * this.
230 */
231 if (memsz > filesz) {
232 if (is_iomem)
> 233 memset_io(ptr + filesz, 0, memsz - filesz);
234 else
235 memset(ptr + filesz, 0, memsz - filesz);
236 }
237 }
238
239 return ret;
240 }
241 EXPORT_SYMBOL(rproc_elf_load_segments);
242
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[linux-next:master 4298/4500] include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827
commit: 1068f9c7eade6a755a2fe3b60b9941cf44ee2888 [4298/4500] string.h: move fortified functions definitions in a dedicated header.
config: s390-randconfig-r013-20210118 (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 1068f9c7eade6a755a2fe3b60b9941cf44ee2888
# 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 warnings (new ones prefixed by >>):
lib/zstd/decompress.c:126:12: warning: no previous prototype for 'ZSTD_createDCtx_advanced' [-Wmissing-prototypes]
126 | ZSTD_DCtx *ZSTD_createDCtx_advanced(ZSTD_customMem customMem)
| ^~~~~~~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c:394:8: warning: no previous prototype for 'ZSTD_getcBlockSize' [-Wmissing-prototypes]
394 | size_t ZSTD_getcBlockSize(const void *src, size_t srcSize, blockProperties_t *bpPtr)
| ^~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c:432:8: warning: no previous prototype for 'ZSTD_decodeLiteralsBlock' [-Wmissing-prototypes]
432 | size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t srcSize) /* note : srcSize < BLOCKSIZE */
| ^~~~~~~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c:794:8: warning: no previous prototype for 'ZSTD_decodeSeqHeaders' [-Wmissing-prototypes]
794 | size_t ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, const void *src, size_t srcSize)
| ^~~~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c:1497:8: warning: no previous prototype for 'ZSTD_generateNxBytes' [-Wmissing-prototypes]
1497 | size_t ZSTD_generateNxBytes(void *dst, size_t dstCapacity, BYTE byte, size_t length)
| ^~~~~~~~~~~~~~~~~~~~
In file included from lib/zstd/decompress.c:35:
lib/zstd/zstd_internal.h:124:18: warning: 'OF_defaultNormLog' defined but not used [-Wunused-const-variable=]
124 | static const U32 OF_defaultNormLog = OF_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib/zstd/zstd_internal.h:122:18: warning: 'OF_defaultNorm' defined but not used [-Wunused-const-variable=]
122 | static const S16 OF_defaultNorm[MaxOff + 1] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1};
| ^~~~~~~~~~~~~~
lib/zstd/zstd_internal.h:120:18: warning: 'ML_defaultNormLog' defined but not used [-Wunused-const-variable=]
120 | static const U32 ML_defaultNormLog = ML_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib/zstd/zstd_internal.h:117:18: warning: 'ML_defaultNorm' defined but not used [-Wunused-const-variable=]
117 | static const S16 ML_defaultNorm[MaxML + 1] = {1, 4, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
| ^~~~~~~~~~~~~~
lib/zstd/zstd_internal.h:113:18: warning: 'LL_defaultNormLog' defined but not used [-Wunused-const-variable=]
113 | static const U32 LL_defaultNormLog = LL_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib/zstd/zstd_internal.h:111:18: warning: 'LL_defaultNorm' defined but not used [-Wunused-const-variable=]
111 | static const S16 LL_defaultNorm[MaxLL + 1] = {4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, -1, -1, -1, -1};
| ^~~~~~~~~~~~~~
In file included from include/linux/string.h:269,
from lib/zstd/mem.h:24,
from lib/zstd/bitstream.h:54,
from lib/zstd/fse.h:228,
from lib/zstd/decompress.c:32:
In function 'memcpy',
inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:2,
inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2354:5:
>> include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected [-Wnonnull]
20 | #define __underlying_memcpy __builtin_memcpy
| ^
include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy'
191 | return __underlying_memcpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c: In function 'ZSTD_decompressStream':
include/linux/fortify-string.h:20:29: note: in a call to built-in function '__builtin_memcpy'
20 | #define __underlying_memcpy __builtin_memcpy
| ^
include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy'
191 | return __underlying_memcpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~
In function 'memset',
inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:2,
inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2354:5:
include/linux/fortify-string.h:22:29: warning: argument 1 null where non-null expected [-Wnonnull]
22 | #define __underlying_memset __builtin_memset
| ^
include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset'
175 | return __underlying_memset(p, c, size);
| ^~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c: In function 'ZSTD_decompressStream':
include/linux/fortify-string.h:22:29: note: in a call to built-in function '__builtin_memset'
22 | #define __underlying_memset __builtin_memset
| ^
include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset'
175 | return __underlying_memset(p, c, size);
| ^~~~~~~~~~~~~~~~~~~
In function 'memcpy',
inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:2,
inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6:
>> include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected [-Wnonnull]
20 | #define __underlying_memcpy __builtin_memcpy
| ^
include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy'
191 | return __underlying_memcpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c: In function 'ZSTD_decompressStream':
include/linux/fortify-string.h:20:29: note: in a call to built-in function '__builtin_memcpy'
20 | #define __underlying_memcpy __builtin_memcpy
| ^
include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy'
191 | return __underlying_memcpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~
In function 'memset',
inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:2,
inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6:
include/linux/fortify-string.h:22:29: warning: argument 1 null where non-null expected [-Wnonnull]
22 | #define __underlying_memset __builtin_memset
| ^
include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset'
175 | return __underlying_memset(p, c, size);
| ^~~~~~~~~~~~~~~~~~~
lib/zstd/decompress.c: In function 'ZSTD_decompressStream':
include/linux/fortify-string.h:22:29: note: in a call to built-in function '__builtin_memset'
22 | #define __underlying_memset __builtin_memset
| ^
include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset'
175 | return __underlying_memset(p, c, size);
| ^~~~~~~~~~~~~~~~~~~
vim +20 include/linux/fortify-string.h
4
5
6 #if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)
7 extern void *__underlying_memchr(const void *p, int c, __kernel_size_t size) __RENAME(memchr);
8 extern int __underlying_memcmp(const void *p, const void *q, __kernel_size_t size) __RENAME(memcmp);
9 extern void *__underlying_memcpy(void *p, const void *q, __kernel_size_t size) __RENAME(memcpy);
10 extern void *__underlying_memmove(void *p, const void *q, __kernel_size_t size) __RENAME(memmove);
11 extern void *__underlying_memset(void *p, int c, __kernel_size_t size) __RENAME(memset);
12 extern char *__underlying_strcat(char *p, const char *q) __RENAME(strcat);
13 extern char *__underlying_strcpy(char *p, const char *q) __RENAME(strcpy);
14 extern __kernel_size_t __underlying_strlen(const char *p) __RENAME(strlen);
15 extern char *__underlying_strncat(char *p, const char *q, __kernel_size_t count) __RENAME(strncat);
16 extern char *__underlying_strncpy(char *p, const char *q, __kernel_size_t size) __RENAME(strncpy);
17 #else
18 #define __underlying_memchr __builtin_memchr
19 #define __underlying_memcmp __builtin_memcmp
> 20 #define __underlying_memcpy __builtin_memcpy
21 #define __underlying_memmove __builtin_memmove
22 #define __underlying_memset __builtin_memset
23 #define __underlying_strcat __builtin_strcat
24 #define __underlying_strcpy __builtin_strcpy
25 #define __underlying_strlen __builtin_strlen
26 #define __underlying_strncat __builtin_strncat
27 #define __underlying_strncpy __builtin_strncpy
28 #endif
29
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:6580 ixgbe_setup_rx_resources() error: we previously assumed 'rx_ring->q_vector' could be null (see line 6550)
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e609571b5ffa3528bf85292de1ceaddac342bc1c
commit: b02e5a0ebb172c8276cea3151942aac681f7a4a6 xsk: Propagate napi_id to XDP socket Rx path
config: x86_64-randconfig-m001-20210113 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:6580 ixgbe_setup_rx_resources() error: we previously assumed 'rx_ring->q_vector' could be null (see line 6550)
vim +6580 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9247080816297de4 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c John Fastabend 2017-04-24 6540 int ixgbe_setup_rx_resources(struct ixgbe_adapter *adapter,
9247080816297de4 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c John Fastabend 2017-04-24 6541 struct ixgbe_ring *rx_ring)
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6542 {
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6543 struct device *dev = rx_ring->dev;
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6544 int orig_node = dev_to_node(dev);
98fa15f34cb37986 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Anshuman Khandual 2019-03-05 6545 int ring_node = NUMA_NO_NODE;
d0bcacd0a130974f drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Björn Töpel 2018-10-02 6546 int size;
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6547
3a581073e0f9f396 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2008-08-26 6548 size = sizeof(struct ixgbe_rx_buffer) * rx_ring->count;
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6549
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 @6550 if (rx_ring->q_vector)
^^^^^^^^^^^^^^^^^
This code assumes "rx_ring->q_vector" can be NULL
ca8dfe2550cb3682 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Mark Rustad 2014-07-24 6551 ring_node = rx_ring->q_vector->numa_node;
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6552
ffed21bcee7a544f drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2017-01-17 6553 rx_ring->rx_buffer_info = vmalloc_node(size, ring_node);
1a6c14a2c7c313c5 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2010-02-03 6554 if (!rx_ring->rx_buffer_info)
ffed21bcee7a544f drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2017-01-17 6555 rx_ring->rx_buffer_info = vmalloc(size);
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6556 if (!rx_ring->rx_buffer_info)
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6557 goto err;
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6558
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6559 /* Round up to nearest 4K */
3a581073e0f9f396 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2008-08-26 6560 rx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);
3a581073e0f9f396 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2008-08-26 6561 rx_ring->size = ALIGN(rx_ring->size, 4096);
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6562
ca8dfe2550cb3682 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Mark Rustad 2014-07-24 6563 set_dev_node(dev, ring_node);
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6564 rx_ring->desc = dma_alloc_coherent(dev,
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6565 rx_ring->size,
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6566 &rx_ring->dma,
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6567 GFP_KERNEL);
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6568 set_dev_node(dev, orig_node);
de88eeeb16b164b6 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Alexander Duyck 2012-02-08 6569 if (!rx_ring->desc)
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6570 rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
1b507730b7a9dfc0 drivers/net/ixgbe/ixgbe_main.c Nick Nunley 2010-04-27 6571 &rx_ring->dma, GFP_KERNEL);
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6572 if (!rx_ring->desc)
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6573 goto err;
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6574
3a581073e0f9f396 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2008-08-26 6575 rx_ring->next_to_clean = 0;
3a581073e0f9f396 drivers/net/ixgbe/ixgbe_main.c Jesse Brandeburg 2008-08-26 6576 rx_ring->next_to_use = 0;
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6577
99ffc5ade4e8703c drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Jesper Dangaard Brouer 2018-01-03 6578 /* XDP RX-queue info */
99ffc5ade4e8703c drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Jesper Dangaard Brouer 2018-01-03 6579 if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
b02e5a0ebb172c82 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Björn Töpel 2020-11-30 @6580 rx_ring->queue_index, rx_ring->q_vector->napi.napi_id) < 0)
^^^^^^^^^^^^^^^^^
Unchecked dereference.
99ffc5ade4e8703c drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Jesper Dangaard Brouer 2018-01-03 6581 goto err;
99ffc5ade4e8703c drivers/net/ethernet/intel/ixgbe/ixgbe_main.c Jesper Dangaard Brouer 2018-01-03 6582
9247080816297de4 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c John Fastabend 2017-04-24 6583 rx_ring->xdp_prog = adapter->xdp_prog;
9247080816297de4 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c John Fastabend 2017-04-24 6584
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6585 return 0;
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6586 err:
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6587 vfree(rx_ring->rx_buffer_info);
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6588 rx_ring->rx_buffer_info = NULL;
b6ec895ecd32c007 drivers/net/ixgbe/ixgbe_main.c Alexander Duyck 2010-11-16 6589 dev_err(dev, "Unable to allocate memory for the Rx descriptor ring\n");
177db6ffd0599430 drivers/net/ixgbe/ixgbe_main.c Mallikarjuna R Chilakala 2008-06-18 6590 return -ENOMEM;
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6591 }
9a799d71034c4e2b drivers/net/ixgbe/ixgbe_main.c Auke Kok 2007-09-15 6592
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[ragnatech:net-next 317/356] {standard input}:3148: Error: operands mismatch -- statement `andl %a1,%d1' ignored
by kernel test robot
tree: git://git.ragnatech.se/linux net-next
head: 9ab7e76aefc97a9aa664accb59d6e8dc5e52514a
commit: 981f94c3e92146705baf97fb417a5ed1ab1a79a5 [317/356] bpf: Add bitwise atomic instructions
config: m68k-randconfig-r002-20210115 (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
git remote add ragnatech git://git.ragnatech.se/linux
git fetch --no-tags ragnatech net-next
git checkout 981f94c3e92146705baf97fb417a5ed1ab1a79a5
# 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 >>):
kernel/bpf/core.c:1350:12: warning: no previous prototype for 'bpf_probe_read_kernel' [-Wmissing-prototypes]
1350 | u64 __weak bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr)
| ^~~~~~~~~~~~~~~~~~~~~
{standard input}: Assembler messages:
{standard input}:3102: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
>> {standard input}:3148: Error: operands mismatch -- statement `andl %a1,%d1' ignored
{standard input}:3148: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
>> {standard input}:3201: Error: operands mismatch -- statement `orl %a1,%d1' ignored
{standard input}:3201: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
>> {standard input}:3247: Error: operands mismatch -- statement `eorl %a1,%d1' ignored
{standard input}:3247: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
{standard input}:3270: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d5,(%a0)' ignored
{standard input}:3307: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d5,(%a6)' ignored
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[linux-next:master 1543/4500] drivers/gpio/gpio-tegra.c:364:7: error: 'struct irq_data' has no member named 'parent_data'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827
commit: efcdca286eefb248d15a49a32a802ed11146e65e [1543/4500] gpio: tegra: Convert to gpio_irq_chip
config: h8300-randconfig-r012-20210118 (attached as .config)
compiler: h8300-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 efcdca286eefb248d15a49a32a802ed11146e65e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
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/gpio/gpio-tegra.c: In function 'tegra_gpio_irq_set_type':
>> drivers/gpio/gpio-tegra.c:364:7: error: 'struct irq_data' has no member named 'parent_data'
364 | if (d->parent_data)
| ^~
>> drivers/gpio/gpio-tegra.c:365:9: error: implicit declaration of function 'irq_chip_set_type_parent' [-Werror=implicit-function-declaration]
365 | ret = irq_chip_set_type_parent(d, type);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-tegra.c: In function 'tegra_gpio_child_to_parent_hwirq':
>> drivers/gpio/gpio-tegra.c:439:27: error: 'struct gpio_irq_chip' has no member named 'child_offset_to_irq'
439 | *parent_hwirq = chip->irq.child_offset_to_irq(chip, hwirq);
| ^
drivers/gpio/gpio-tegra.c: In function 'tegra_gpio_populate_parent_fwspec':
>> drivers/gpio/gpio-tegra.c:454:28: error: 'struct gpio_irq_chip' has no member named 'parent_domain'
454 | fwspec->fwnode = chip->irq.parent_domain->fwnode;
| ^
drivers/gpio/gpio-tegra.c: In function 'tegra_gpio_irq_set_affinity':
drivers/gpio/gpio-tegra.c:566:10: error: 'struct irq_data' has no member named 'parent_data'
566 | if (data->parent_data)
| ^~
>> drivers/gpio/gpio-tegra.c:567:10: error: implicit declaration of function 'irq_chip_set_affinity_parent'; did you mean 'irq_set_affinity_hint'? [-Werror=implicit-function-declaration]
567 | return irq_chip_set_affinity_parent(data, dest, force);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| irq_set_affinity_hint
drivers/gpio/gpio-tegra.c: In function 'tegra_gpio_probe':
>> drivers/gpio/gpio-tegra.c:730:5: error: 'struct gpio_irq_chip' has no member named 'fwnode'
730 | irq->fwnode = of_node_to_fwnode(pdev->dev.of_node);
| ^~
>> drivers/gpio/gpio-tegra.c:731:5: error: 'struct gpio_irq_chip' has no member named 'child_to_parent_hwirq'
731 | irq->child_to_parent_hwirq = tegra_gpio_child_to_parent_hwirq;
| ^~
>> drivers/gpio/gpio-tegra.c:732:5: error: 'struct gpio_irq_chip' has no member named 'populate_parent_alloc_arg'
732 | irq->populate_parent_alloc_arg = tegra_gpio_populate_parent_fwspec;
| ^~
drivers/gpio/gpio-tegra.c:742:6: error: 'struct gpio_irq_chip' has no member named 'parent_domain'
742 | irq->parent_domain = irq_find_host(np);
| ^~
drivers/gpio/gpio-tegra.c:745:11: error: 'struct gpio_irq_chip' has no member named 'parent_domain'
745 | if (!irq->parent_domain)
| ^~
cc1: some warnings being treated as errors
vim +364 drivers/gpio/gpio-tegra.c
301
302 static int tegra_gpio_irq_set_type(struct irq_data *d, unsigned int type)
303 {
304 unsigned int gpio = d->hwirq, port = GPIO_PORT(gpio), lvl_type;
305 struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
306 struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
307 struct tegra_gpio_bank *bank;
308 unsigned long flags;
309 int ret;
310 u32 val;
311
312 bank = &tgi->bank_info[GPIO_BANK(d->hwirq)];
313
314 switch (type & IRQ_TYPE_SENSE_MASK) {
315 case IRQ_TYPE_EDGE_RISING:
316 lvl_type = GPIO_INT_LVL_EDGE_RISING;
317 break;
318
319 case IRQ_TYPE_EDGE_FALLING:
320 lvl_type = GPIO_INT_LVL_EDGE_FALLING;
321 break;
322
323 case IRQ_TYPE_EDGE_BOTH:
324 lvl_type = GPIO_INT_LVL_EDGE_BOTH;
325 break;
326
327 case IRQ_TYPE_LEVEL_HIGH:
328 lvl_type = GPIO_INT_LVL_LEVEL_HIGH;
329 break;
330
331 case IRQ_TYPE_LEVEL_LOW:
332 lvl_type = GPIO_INT_LVL_LEVEL_LOW;
333 break;
334
335 default:
336 return -EINVAL;
337 }
338
339 raw_spin_lock_irqsave(&bank->lvl_lock[port], flags);
340
341 val = tegra_gpio_readl(tgi, GPIO_INT_LVL(tgi, gpio));
342 val &= ~(GPIO_INT_LVL_MASK << GPIO_BIT(gpio));
343 val |= lvl_type << GPIO_BIT(gpio);
344 tegra_gpio_writel(tgi, val, GPIO_INT_LVL(tgi, gpio));
345
346 raw_spin_unlock_irqrestore(&bank->lvl_lock[port], flags);
347
348 tegra_gpio_mask_write(tgi, GPIO_MSK_OE(tgi, gpio), gpio, 0);
349 tegra_gpio_enable(tgi, gpio);
350
351 ret = gpiochip_lock_as_irq(&tgi->gc, gpio);
352 if (ret) {
353 dev_err(tgi->dev,
354 "unable to lock Tegra GPIO %u as IRQ\n", gpio);
355 tegra_gpio_disable(tgi, gpio);
356 return ret;
357 }
358
359 if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
360 irq_set_handler_locked(d, handle_level_irq);
361 else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING))
362 irq_set_handler_locked(d, handle_edge_irq);
363
> 364 if (d->parent_data)
> 365 ret = irq_chip_set_type_parent(d, type);
366
367 return ret;
368 }
369
370 static void tegra_gpio_irq_shutdown(struct irq_data *d)
371 {
372 struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
373 struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
374 unsigned int gpio = d->hwirq;
375
376 tegra_gpio_irq_mask(d);
377 gpiochip_unlock_as_irq(&tgi->gc, gpio);
378 }
379
380 static void tegra_gpio_irq_handler(struct irq_desc *desc)
381 {
382 struct tegra_gpio_info *tgi = irq_desc_get_handler_data(desc);
383 struct irq_chip *chip = irq_desc_get_chip(desc);
384 struct irq_domain *domain = tgi->gc.irq.domain;
385 unsigned int irq = irq_desc_get_irq(desc);
386 struct tegra_gpio_bank *bank = NULL;
387 unsigned int port, pin, gpio, i;
388 bool unmasked = false;
389 unsigned long sta;
390 u32 lvl;
391
392 for (i = 0; i < tgi->bank_count; i++) {
393 if (tgi->irqs[i] == irq) {
394 bank = &tgi->bank_info[i];
395 break;
396 }
397 }
398
399 if (WARN_ON(bank == NULL))
400 return;
401
402 chained_irq_enter(chip, desc);
403
404 for (port = 0; port < 4; port++) {
405 gpio = tegra_gpio_compose(bank->bank, port, 0);
406 sta = tegra_gpio_readl(tgi, GPIO_INT_STA(tgi, gpio)) &
407 tegra_gpio_readl(tgi, GPIO_INT_ENB(tgi, gpio));
408 lvl = tegra_gpio_readl(tgi, GPIO_INT_LVL(tgi, gpio));
409
410 for_each_set_bit(pin, &sta, 8) {
411 tegra_gpio_writel(tgi, 1 << pin,
412 GPIO_INT_CLR(tgi, gpio));
413
414 /* if gpio is edge triggered, clear condition
415 * before executing the handler so that we don't
416 * miss edges
417 */
418 if (!unmasked && lvl & (0x100 << pin)) {
419 unmasked = true;
420 chained_irq_exit(chip, desc);
421 }
422
423 irq = irq_find_mapping(domain, gpio + pin);
424 if (WARN_ON(irq == 0))
425 continue;
426
427 generic_handle_irq(irq);
428 }
429 }
430
431 if (!unmasked)
432 chained_irq_exit(chip, desc);
433 }
434
435 static int tegra_gpio_child_to_parent_hwirq(struct gpio_chip *chip, unsigned int hwirq,
436 unsigned int type, unsigned int *parent_hwirq,
437 unsigned int *parent_type)
438 {
> 439 *parent_hwirq = chip->irq.child_offset_to_irq(chip, hwirq);
440 *parent_type = type;
441
442 return 0;
443 }
444
445 static void *tegra_gpio_populate_parent_fwspec(struct gpio_chip *chip, unsigned int parent_hwirq,
446 unsigned int parent_type)
447 {
448 struct irq_fwspec *fwspec;
449
450 fwspec = kmalloc(sizeof(*fwspec), GFP_KERNEL);
451 if (!fwspec)
452 return NULL;
453
> 454 fwspec->fwnode = chip->irq.parent_domain->fwnode;
455 fwspec->param_count = 3;
456 fwspec->param[0] = 0;
457 fwspec->param[1] = parent_hwirq;
458 fwspec->param[2] = parent_type;
459
460 return fwspec;
461 }
462
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
arch/powerpc/platforms/83xx/suspend.c:210:3: error: implicit declaration of function 'enable_kernel_fp'
by kernel test robot
Hi Christophe,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 19c329f6808995b142b3966301f217c831e7cf31
commit: 7d68c89169508064c460a1208f38ed0589d226fa powerpc/32s: Allow deselecting CONFIG_PPC_FPU on mpc832x
date: 7 weeks ago
config: powerpc-randconfig-r036-20210118 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 95d146182fdf2315e74943b93fb3bb0cbafc5d89)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# 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 7d68c89169508064c460a1208f38ed0589d226fa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
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/83xx/suspend.c:210:3: error: implicit declaration of function 'enable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
enable_kernel_fp();
^
1 error generated.
vim +/enable_kernel_fp +210 arch/powerpc/platforms/83xx/suspend.c
87faaabb09d0802d Anton Vorontsov 2009-12-10 173
d49747bdfb2ddebe Scott Wood 2007-10-09 174 static int mpc83xx_suspend_enter(suspend_state_t state)
d49747bdfb2ddebe Scott Wood 2007-10-09 175 {
d49747bdfb2ddebe Scott Wood 2007-10-09 176 int ret = -EAGAIN;
d49747bdfb2ddebe Scott Wood 2007-10-09 177
d49747bdfb2ddebe Scott Wood 2007-10-09 178 /* Don't go to sleep if there's a race where pci_pm_state changes
d49747bdfb2ddebe Scott Wood 2007-10-09 179 * between the agent thread checking it and the PM code disabling
d49747bdfb2ddebe Scott Wood 2007-10-09 180 * interrupts.
d49747bdfb2ddebe Scott Wood 2007-10-09 181 */
d49747bdfb2ddebe Scott Wood 2007-10-09 182 if (wake_from_pci) {
d49747bdfb2ddebe Scott Wood 2007-10-09 183 if (pci_pm_state != (deep_sleeping ? 3 : 2))
d49747bdfb2ddebe Scott Wood 2007-10-09 184 goto out;
d49747bdfb2ddebe Scott Wood 2007-10-09 185
d49747bdfb2ddebe Scott Wood 2007-10-09 186 out_be32(&pmc_regs->config1,
d49747bdfb2ddebe Scott Wood 2007-10-09 187 in_be32(&pmc_regs->config1) | PMCCR1_PME_EN);
d49747bdfb2ddebe Scott Wood 2007-10-09 188 }
d49747bdfb2ddebe Scott Wood 2007-10-09 189
d49747bdfb2ddebe Scott Wood 2007-10-09 190 /* Put the system into low-power mode and the RAM
d49747bdfb2ddebe Scott Wood 2007-10-09 191 * into self-refresh mode once the core goes to
d49747bdfb2ddebe Scott Wood 2007-10-09 192 * sleep.
d49747bdfb2ddebe Scott Wood 2007-10-09 193 */
d49747bdfb2ddebe Scott Wood 2007-10-09 194
d49747bdfb2ddebe Scott Wood 2007-10-09 195 out_be32(&pmc_regs->config, PMCCR_SLPEN | PMCCR_DLPEN);
d49747bdfb2ddebe Scott Wood 2007-10-09 196
d49747bdfb2ddebe Scott Wood 2007-10-09 197 /* If it has deep sleep (i.e. it's an 831x or compatible),
d49747bdfb2ddebe Scott Wood 2007-10-09 198 * disable power to the core upon entering sleep mode. This will
d49747bdfb2ddebe Scott Wood 2007-10-09 199 * require going through the boot firmware upon a wakeup event.
d49747bdfb2ddebe Scott Wood 2007-10-09 200 */
d49747bdfb2ddebe Scott Wood 2007-10-09 201
d49747bdfb2ddebe Scott Wood 2007-10-09 202 if (deep_sleeping) {
87faaabb09d0802d Anton Vorontsov 2009-12-10 203 mpc83xx_suspend_save_regs();
87faaabb09d0802d Anton Vorontsov 2009-12-10 204
d49747bdfb2ddebe Scott Wood 2007-10-09 205 out_be32(&pmc_regs->mask, PMCER_ALL);
d49747bdfb2ddebe Scott Wood 2007-10-09 206
d49747bdfb2ddebe Scott Wood 2007-10-09 207 out_be32(&pmc_regs->config1,
d49747bdfb2ddebe Scott Wood 2007-10-09 208 in_be32(&pmc_regs->config1) | PMCCR1_POWER_OFF);
d49747bdfb2ddebe Scott Wood 2007-10-09 209
d49747bdfb2ddebe Scott Wood 2007-10-09 @210 enable_kernel_fp();
d49747bdfb2ddebe Scott Wood 2007-10-09 211
d49747bdfb2ddebe Scott Wood 2007-10-09 212 mpc83xx_enter_deep_sleep(immrbase);
d49747bdfb2ddebe Scott Wood 2007-10-09 213
d49747bdfb2ddebe Scott Wood 2007-10-09 214 out_be32(&pmc_regs->config1,
d49747bdfb2ddebe Scott Wood 2007-10-09 215 in_be32(&pmc_regs->config1) & ~PMCCR1_POWER_OFF);
d49747bdfb2ddebe Scott Wood 2007-10-09 216
d49747bdfb2ddebe Scott Wood 2007-10-09 217 out_be32(&pmc_regs->mask, PMCER_PMCI);
87faaabb09d0802d Anton Vorontsov 2009-12-10 218
87faaabb09d0802d Anton Vorontsov 2009-12-10 219 mpc83xx_suspend_restore_regs();
d49747bdfb2ddebe Scott Wood 2007-10-09 220 } else {
d49747bdfb2ddebe Scott Wood 2007-10-09 221 out_be32(&pmc_regs->mask, PMCER_PMCI);
d49747bdfb2ddebe Scott Wood 2007-10-09 222
d49747bdfb2ddebe Scott Wood 2007-10-09 223 mpc6xx_enter_standby();
d49747bdfb2ddebe Scott Wood 2007-10-09 224 }
d49747bdfb2ddebe Scott Wood 2007-10-09 225
d49747bdfb2ddebe Scott Wood 2007-10-09 226 ret = 0;
d49747bdfb2ddebe Scott Wood 2007-10-09 227
d49747bdfb2ddebe Scott Wood 2007-10-09 228 out:
d49747bdfb2ddebe Scott Wood 2007-10-09 229 out_be32(&pmc_regs->config1,
d49747bdfb2ddebe Scott Wood 2007-10-09 230 in_be32(&pmc_regs->config1) & ~PMCCR1_PME_EN);
d49747bdfb2ddebe Scott Wood 2007-10-09 231
d49747bdfb2ddebe Scott Wood 2007-10-09 232 return ret;
d49747bdfb2ddebe Scott Wood 2007-10-09 233 }
d49747bdfb2ddebe Scott Wood 2007-10-09 234
:::::: The code at line 210 was first introduced by commit
:::::: d49747bdfb2ddebea24d1580da55b79d093d48a9 powerpc/mpc83xx: Power Management support
:::::: TO: Scott Wood <scottwood(a)freescale.com>
:::::: CC: Kumar Gala <galak(a)kernel.crashing.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[linux-next:master 2885/4500] drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:929:24: warning: unused variable 'adev'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827
commit: 8f66090b7bb7f2a2183f46e72e367922d836e0dd [2885/4500] drm/amdgpu: Remove references to struct drm_device.pdev
config: mips-randconfig-r016-20210118 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 95d146182fdf2315e74943b93fb3bb0cbafc5d89)
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://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 8f66090b7bb7f2a2183f46e72e367922d836e0dd
# 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 warnings (new ones prefixed by >>):
>> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:929:24: warning: unused variable 'adev'
struct amdgpu_device = drm_to_adev(dev);
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/atomic.h", .line = 154, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: ll $1, $2 # atomic_fetch_sub
subu $0, $1, $3
sc $0, $2
beqz $0, 1b
.set pop
move $0, $1
'
clang-12: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 12.0.0 (git://gitmirror/llvm_project 95d146182fdf2315e74943b93fb3bb0cbafc5d89)
Target: mips-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cross/clang-95d146182f/bin
clang-12: note: diagnostic msg:
Makefile arch drivers include kernel scripts source usr
vim +/adev +929 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
923
924 struct drm_framebuffer *
925 amdgpu_display_user_framebuffer_create(struct drm_device *dev,
926 struct drm_file *file_priv,
927 const struct drm_mode_fb_cmd2 *mode_cmd)
928 {
> 929 struct amdgpu_device *adev = drm_to_adev(dev);
930 struct drm_gem_object *obj;
931 struct amdgpu_framebuffer *amdgpu_fb;
932 int ret;
933
934 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]);
935 if (obj == NULL) {
936 drm_dbg_kms(dev, "No GEM object associated to handle 0x%08X, "
937 "can't create framebuffer\n", mode_cmd->handles[0]);
938 return ERR_PTR(-ENOENT);
939 }
940
941 /* Handle is imported dma-buf, so cannot be migrated to VRAM for scanout */
942 if (obj->import_attach) {
943 drm_dbg_kms(dev, "Cannot create framebuffer from imported dma_buf\n");
944 return ERR_PTR(-EINVAL);
945 }
946
947 amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
948 if (amdgpu_fb == NULL) {
949 drm_gem_object_put(obj);
950 return ERR_PTR(-ENOMEM);
951 }
952
953 ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
954 if (ret) {
955 kfree(amdgpu_fb);
956 drm_gem_object_put(obj);
957 return ERR_PTR(ret);
958 }
959
960 return &amdgpu_fb->base;
961 }
962
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/ring_buffer.o' being placed in section `.eh_frame'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 19c329f6808995b142b3966301f217c831e7cf31
commit: b3e5d80d0c48c0cc7bce56473672f4e6e1210910 arm64/build: Warn on orphan section placement
date: 5 months ago
config: arm64-randconfig-r006-20210118 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 95d146182fdf2315e74943b93fb3bb0cbafc5d89)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# 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 b3e5d80d0c48c0cc7bce56473672f4e6e1210910
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 warnings (new ones prefixed by >>):
aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from `arch/arm64/kernel/head.o' being placed in section `.igot.plt'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_clock.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/ring_buffer.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/ring_buffer_benchmark.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_output.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_seq.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_stat.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_printk.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/tracing_map.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_sched_switch.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_preemptirq.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_irqsoff.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_hwlat.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_nop.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_events.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_export.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_event_perf.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_events_filter.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_events_trigger.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_events_synth.o' being placed in section `.eh_frame'
>> aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_events_hist.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/bpf_trace.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/power-traces.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/rpm-traces.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_dynevent.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_probe.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_uprobe.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_boot.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: warning: orphan section `.eh_frame' from `kernel/trace/trace_benchmark.o' being placed in section `.eh_frame'
aarch64-linux-gnu-ld: fs/orangefs/orangefs-debugfs.o: in function `orangefs_debug_read':
orangefs-debugfs.c:(.text+0x13b4): undefined reference to `stpcpy'
orangefs-debugfs.c:(.text+0x13b4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `alloc_tty_struct':
tty_io.c:(.text+0x180c): undefined reference to `stpcpy'
tty_io.c:(.text+0x180c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `tty_register_device_attr':
tty_io.c:(.text+0x3b1c): undefined reference to `stpcpy'
tty_io.c:(.text+0x3b1c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `show_cons_active':
tty_io.c:(.text+0x5304): undefined reference to `stpcpy'
tty_io.c:(.text+0x5304): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `stpcpy'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[mac80211:master 9/9] net/mac80211/spectmgmt.c:147:42: sparse: sparse: incorrect type in initializer (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git master
head: 8b194febe111c5cc47595749a766d24ca33dd95a
commit: 8b194febe111c5cc47595749a766d24ca33dd95a [9/9] mac80211: 160MHz with extended NSS BW in CSA
config: i386-randconfig-s002-20210118 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git/commit...
git remote add mac80211 https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
git fetch --no-tags mac80211 master
git checkout 8b194febe111c5cc47595749a766d24ca33dd95a
# 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 >>)"
>> net/mac80211/spectmgmt.c:147:42: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] operation_mode @@ got int @@
net/mac80211/spectmgmt.c:147:42: sparse: expected restricted __le16 [usertype] operation_mode
net/mac80211/spectmgmt.c:147:42: sparse: got int
vim +147 net/mac80211/spectmgmt.c
21
22 int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
23 struct ieee802_11_elems *elems,
24 enum nl80211_band current_band,
25 u32 vht_cap_info,
26 u32 sta_flags, u8 *bssid,
27 struct ieee80211_csa_ie *csa_ie)
28 {
29 enum nl80211_band new_band = current_band;
30 int new_freq;
31 u8 new_chan_no;
32 struct ieee80211_channel *new_chan;
33 struct cfg80211_chan_def new_vht_chandef = {};
34 const struct ieee80211_sec_chan_offs_ie *sec_chan_offs;
35 const struct ieee80211_wide_bw_chansw_ie *wide_bw_chansw_ie;
36 int secondary_channel_offset = -1;
37
38 memset(csa_ie, 0, sizeof(*csa_ie));
39
40 sec_chan_offs = elems->sec_chan_offs;
41 wide_bw_chansw_ie = elems->wide_bw_chansw_ie;
42
43 if (sta_flags & (IEEE80211_STA_DISABLE_HT |
44 IEEE80211_STA_DISABLE_40MHZ)) {
45 sec_chan_offs = NULL;
46 wide_bw_chansw_ie = NULL;
47 }
48
49 if (sta_flags & IEEE80211_STA_DISABLE_VHT)
50 wide_bw_chansw_ie = NULL;
51
52 if (elems->ext_chansw_ie) {
53 if (!ieee80211_operating_class_to_band(
54 elems->ext_chansw_ie->new_operating_class,
55 &new_band)) {
56 sdata_info(sdata,
57 "cannot understand ECSA IE operating class, %d, ignoring\n",
58 elems->ext_chansw_ie->new_operating_class);
59 }
60 new_chan_no = elems->ext_chansw_ie->new_ch_num;
61 csa_ie->count = elems->ext_chansw_ie->count;
62 csa_ie->mode = elems->ext_chansw_ie->mode;
63 } else if (elems->ch_switch_ie) {
64 new_chan_no = elems->ch_switch_ie->new_ch_num;
65 csa_ie->count = elems->ch_switch_ie->count;
66 csa_ie->mode = elems->ch_switch_ie->mode;
67 } else {
68 /* nothing here we understand */
69 return 1;
70 }
71
72 /* Mesh Channel Switch Parameters Element */
73 if (elems->mesh_chansw_params_ie) {
74 csa_ie->ttl = elems->mesh_chansw_params_ie->mesh_ttl;
75 csa_ie->mode = elems->mesh_chansw_params_ie->mesh_flags;
76 csa_ie->pre_value = le16_to_cpu(
77 elems->mesh_chansw_params_ie->mesh_pre_value);
78
79 if (elems->mesh_chansw_params_ie->mesh_flags &
80 WLAN_EID_CHAN_SWITCH_PARAM_REASON)
81 csa_ie->reason_code = le16_to_cpu(
82 elems->mesh_chansw_params_ie->mesh_reason);
83 }
84
85 new_freq = ieee80211_channel_to_frequency(new_chan_no, new_band);
86 new_chan = ieee80211_get_channel(sdata->local->hw.wiphy, new_freq);
87 if (!new_chan || new_chan->flags & IEEE80211_CHAN_DISABLED) {
88 sdata_info(sdata,
89 "BSS %pM switches to unsupported channel (%d MHz), disconnecting\n",
90 bssid, new_freq);
91 return -EINVAL;
92 }
93
94 if (sec_chan_offs) {
95 secondary_channel_offset = sec_chan_offs->sec_chan_offs;
96 } else if (!(sta_flags & IEEE80211_STA_DISABLE_HT)) {
97 /* If the secondary channel offset IE is not present,
98 * we can't know what's the post-CSA offset, so the
99 * best we can do is use 20MHz.
100 */
101 secondary_channel_offset = IEEE80211_HT_PARAM_CHA_SEC_NONE;
102 }
103
104 switch (secondary_channel_offset) {
105 default:
106 /* secondary_channel_offset was present but is invalid */
107 case IEEE80211_HT_PARAM_CHA_SEC_NONE:
108 cfg80211_chandef_create(&csa_ie->chandef, new_chan,
109 NL80211_CHAN_HT20);
110 break;
111 case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
112 cfg80211_chandef_create(&csa_ie->chandef, new_chan,
113 NL80211_CHAN_HT40PLUS);
114 break;
115 case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
116 cfg80211_chandef_create(&csa_ie->chandef, new_chan,
117 NL80211_CHAN_HT40MINUS);
118 break;
119 case -1:
120 cfg80211_chandef_create(&csa_ie->chandef, new_chan,
121 NL80211_CHAN_NO_HT);
122 /* keep width for 5/10 MHz channels */
123 switch (sdata->vif.bss_conf.chandef.width) {
124 case NL80211_CHAN_WIDTH_5:
125 case NL80211_CHAN_WIDTH_10:
126 csa_ie->chandef.width =
127 sdata->vif.bss_conf.chandef.width;
128 break;
129 default:
130 break;
131 }
132 break;
133 }
134
135 if (wide_bw_chansw_ie) {
136 u8 new_seg1 = wide_bw_chansw_ie->new_center_freq_seg1;
137 struct ieee80211_vht_operation vht_oper = {
138 .chan_width =
139 wide_bw_chansw_ie->new_channel_width,
140 .center_freq_seg0_idx =
141 wide_bw_chansw_ie->new_center_freq_seg0,
142 .center_freq_seg1_idx = new_seg1,
143 /* .basic_mcs_set doesn't matter */
144 };
145 struct ieee80211_ht_operation ht_oper = {
146 .operation_mode =
> 147 new_seg1 << IEEE80211_HT_OP_MODE_CCFS2_SHIFT,
148 };
149
150 /* default, for the case of IEEE80211_VHT_CHANWIDTH_USE_HT,
151 * to the previously parsed chandef
152 */
153 new_vht_chandef = csa_ie->chandef;
154
155 /* ignore if parsing fails */
156 if (!ieee80211_chandef_vht_oper(&sdata->local->hw,
157 vht_cap_info,
158 &vht_oper, &ht_oper,
159 &new_vht_chandef))
160 new_vht_chandef.chan = NULL;
161
162 if (sta_flags & IEEE80211_STA_DISABLE_80P80MHZ &&
163 new_vht_chandef.width == NL80211_CHAN_WIDTH_80P80)
164 ieee80211_chandef_downgrade(&new_vht_chandef);
165 if (sta_flags & IEEE80211_STA_DISABLE_160MHZ &&
166 new_vht_chandef.width == NL80211_CHAN_WIDTH_160)
167 ieee80211_chandef_downgrade(&new_vht_chandef);
168 }
169
170 /* if VHT data is there validate & use it */
171 if (new_vht_chandef.chan) {
172 if (!cfg80211_chandef_compatible(&new_vht_chandef,
173 &csa_ie->chandef)) {
174 sdata_info(sdata,
175 "BSS %pM: CSA has inconsistent channel data, disconnecting\n",
176 bssid);
177 return -EINVAL;
178 }
179 csa_ie->chandef = new_vht_chandef;
180 }
181
182 if (elems->max_channel_switch_time)
183 csa_ie->max_switch_time =
184 (elems->max_channel_switch_time[0] << 0) |
185 (elems->max_channel_switch_time[1] << 8) |
186 (elems->max_channel_switch_time[2] << 16);
187
188 return 0;
189 }
190
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months
[linux-next:master 3938/4500] drivers/soc/qcom/socinfo.c:322:36: sparse: sparse: cast to restricted __le32
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827
commit: 734c78e7febf879a79e9b34e38df35cc63794350 [3938/4500] soc: qcom: socinfo: add info from PMIC models array
config: i386-randconfig-s002-20210118 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# 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 734c78e7febf879a79e9b34e38df35cc63794350
# 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/soc/qcom/socinfo.c:322:36: sparse: sparse: cast to restricted __le32
drivers/soc/qcom/socinfo.c:323:36: sparse: sparse: cast to restricted __le32
vim +322 drivers/soc/qcom/socinfo.c
304
305 static int qcom_show_pmic_model_array(struct seq_file *seq, void *p)
306 {
307 struct socinfo *socinfo = seq->private;
308 unsigned int num_pmics = le32_to_cpu(socinfo->num_pmics);
309 unsigned int pmic_array_offset = le32_to_cpu(socinfo->pmic_array_offset);
310 int i;
311 void *ptr = socinfo;
312
313 ptr += pmic_array_offset;
314
315 /* No need for bounds checking, it happened at socinfo_debugfs_init */
316 for (i = 0; i < num_pmics; i++) {
317 unsigned int model = SOCINFO_MINOR(get_unaligned_le32(ptr + 2 * i * sizeof(u32)));
318 unsigned int die_rev = get_unaligned_le32(ptr + (2 * i + 1) * sizeof(u32));
319
320 if (model <= ARRAY_SIZE(pmic_models) && pmic_models[model])
321 seq_printf(seq, "%s %u.%u\n", pmic_models[model],
> 322 SOCINFO_MAJOR(le32_to_cpu(die_rev)),
323 SOCINFO_MINOR(le32_to_cpu(die_rev)));
324 else
325 seq_printf(seq, "unknown (%d)\n", model);
326 }
327
328 return 0;
329 }
330
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 8 months