Re: [PATCH RESEND v2 3/3] arm64: implement CPPC FFH support using AMUs
by kernel test robot
Hi Ionela,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on 3650b228f83adda7e5ee532e2b90429c03f7b9ec]
url: https://github.com/0day-ci/linux/commits/Ionela-Voinescu/arm64-cppc-add-F...
base: 3650b228f83adda7e5ee532e2b90429c03f7b9ec
config: arm64-randconfig-r001-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 50dfa19cc799ae7cddd39a95dbfce675a12672ad)
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://github.com/0day-ci/linux/commit/43a45631863c12f95767b36c67a296543...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ionela-Voinescu/arm64-cppc-add-FFH-support-using-AMUs/20201028-004534
git checkout 43a45631863c12f95767b36c67a29654319068df
# 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 >>):
In file included from ipc/msg.c:27:
In file included from include/linux/msg.h:6:
In file included from include/uapi/linux/msg.h:5:
In file included from include/linux/ipc.h:5:
In file included from include/linux/spinlock.h:54:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> ipc/msg.c:494:20: warning: implicit conversion from 'int' to 'unsigned short' changes value from 32768000 to 0 [-Wconstant-conversion]
msginfo->msgseg = MSGSEG;
~ ^~~~~~
include/uapi/linux/msg.h:87:38: note: expanded from macro 'MSGSEG'
#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
^~~~~~~~
include/uapi/linux/msg.h:86:36: note: expanded from macro '__MSGSEG'
#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ) /* max no. of segments */
~~~~~~~~~~~~~~~~~^~~~~~~~
1 warning and 1 error generated.
--
In file included from kernel/dma/direct.c:7:
In file included from include/linux/memblock.h:13:
In file included from include/linux/mm.h:10:
In file included from include/linux/gfp.h:6:
In file included from include/linux/mmzone.h:8:
In file included from include/linux/spinlock.h:54:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> kernel/dma/direct.c:102:20: warning: shift count >= width of type [-Wshift-count-overflow]
phys_limit < DMA_BIT_MASK(64) &&
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> kernel/dma/direct.c:102:20: warning: shift count >= width of type [-Wshift-count-overflow]
phys_limit < DMA_BIT_MASK(64) &&
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> kernel/dma/direct.c:102:20: warning: shift count >= width of type [-Wshift-count-overflow]
phys_limit < DMA_BIT_MASK(64) &&
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
~~~~~~~~~~~~~~~~~^~~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
3 warnings and 1 error generated.
--
In file included from drivers/dma/altera-msgdma.c:13:
In file included from include/linux/dma-mapping.h:7:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/dma/altera-msgdma.c:877:46: warning: shift count >= width of type [-Wshift-count-overflow]
ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/dma/idma64.c:11:
In file included from include/linux/dmaengine.h:8:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/dma/idma64.c:648:45: warning: shift count >= width of type [-Wshift-count-overflow]
ret = dma_coerce_mask_and_coherent(sysdev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/dma/qcom/hidma_mgmt.c:8:
In file included from include/linux/dmaengine.h:8:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/dma/qcom/hidma_mgmt.c:384:23: warning: shift count >= width of type [-Wshift-count-overflow]
pdevinfo.dma_mask = DMA_BIT_MASK(64);
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/dma/qcom/hidma.c:45:
In file included from include/linux/dmaengine.h:8:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
drivers/dma/qcom/hidma.c:750:8: warning: cast to smaller integer type 'enum hidma_cap' from 'const void *' [-Wvoid-pointer-to-enum-cast]
cap = (enum hidma_cap) device_get_match_data(dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/dma/qcom/hidma.c:850:45: warning: shift count >= width of type [-Wshift-count-overflow]
rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 1 error generated.
--
In file included from drivers/misc/mic/bus/vop_bus.c:9:
In file included from include/linux/slab.h:15:
In file included from include/linux/gfp.h:6:
In file included from include/linux/mmzone.h:8:
In file included from include/linux/spinlock.h:54:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/misc/mic/bus/vop_bus.c:150:27: warning: shift count >= width of type [-Wshift-count-overflow]
dma_set_mask(&vdev->dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/mmc/core/sd.c:12:
In file included from include/linux/slab.h:15:
In file included from include/linux/gfp.h:6:
In file included from include/linux/mmzone.h:8:
In file included from include/linux/spinlock.h:54:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/mmc/core/sd.c:89:22: warning: shift count >= width of type [-Wshift-count-overflow]
card->cid.serial = UNSTUFF_BITS(resp, 24, 32);
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mmc/core/sd.c:58:39: note: expanded from macro 'UNSTUFF_BITS'
const u32 __mask = (__size < 32 ? 1 << __size : 0) - 1; \
^ ~~~~~~
1 warning and 1 error generated.
--
In file included from drivers/mmc/host/sdhci-sprd.c:9:
In file included from include/linux/dma-mapping.h:7:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/mmc/host/sdhci-sprd.c:558:19: warning: shift count >= width of type [-Wshift-count-overflow]
host->dma_mask = DMA_BIT_MASK(64);
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/mmc/host/sdhci.c:14:
In file included from include/linux/dmaengine.h:8:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/mmc/host/sdhci.c:3953:40: warning: shift count >= width of type [-Wshift-count-overflow]
ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
drivers/mmc/host/sdhci.c:4254:20: warning: shift count >= width of type [-Wshift-count-overflow]
host->dma_mask = DMA_BIT_MASK(64);
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 1 error generated.
--
In file included from drivers/mmc/host/dw_mmc.c:10:
In file included from include/linux/blkdev.h:5:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:26:
In file included from include/linux/irqflags.h:16:
In file included from arch/arm64/include/asm/irqflags.h:10:
In file included from arch/arm64/include/asm/ptrace.h:11:
arch/arm64/include/asm/cpufeature.h:751:9: error: use of undeclared identifier 'nr_cpu_ids'
return nr_cpu_ids;
^
>> drivers/mmc/host/dw_mmc.c:2911:33: warning: shift count >= width of type [-Wshift-count-overflow]
if (!dma_set_mask(host->dev, DMA_BIT_MASK(64)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers/mmc/host/dw_mmc.c:2911:33: warning: shift count >= width of type [-Wshift-count-overflow]
if (!dma_set_mask(host->dev, DMA_BIT_MASK(64)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers/mmc/host/dw_mmc.c:2911:33: warning: shift count >= width of type [-Wshift-count-overflow]
if (!dma_set_mask(host->dev, DMA_BIT_MASK(64)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
~~~~~~~~~~~~~~~~~^~~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
drivers/mmc/host/dw_mmc.c:2913:13: warning: shift count >= width of type [-Wshift-count-overflow]
DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
4 warnings and 1 error generated.
vim +494 ipc/msg.c
a0d092fc2df845a Pierre Peiffer 2008-04-29 473
156d9ed1260ee56 Al Viro 2017-07-09 474 static int msgctl_info(struct ipc_namespace *ns, int msqid,
156d9ed1260ee56 Al Viro 2017-07-09 475 int cmd, struct msginfo *msginfo)
a0d092fc2df845a Pierre Peiffer 2008-04-29 476 {
2cafed30f150f73 Davidlohr Bueso 2013-07-08 477 int err;
27c331a17461420 Manfred Spraul 2018-08-21 478 int max_idx;
5a06a363ef48444 Ingo Molnar 2006-07-30 479
5a06a363ef48444 Ingo Molnar 2006-07-30 480 /*
5a06a363ef48444 Ingo Molnar 2006-07-30 481 * We must not return kernel stack data.
^1da177e4c3f415 Linus Torvalds 2005-04-16 482 * due to padding, it's not enough
^1da177e4c3f415 Linus Torvalds 2005-04-16 483 * to set all member fields.
^1da177e4c3f415 Linus Torvalds 2005-04-16 484 */
^1da177e4c3f415 Linus Torvalds 2005-04-16 485 err = security_msg_queue_msgctl(NULL, cmd);
^1da177e4c3f415 Linus Torvalds 2005-04-16 486 if (err)
^1da177e4c3f415 Linus Torvalds 2005-04-16 487 return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16 488
156d9ed1260ee56 Al Viro 2017-07-09 489 memset(msginfo, 0, sizeof(*msginfo));
156d9ed1260ee56 Al Viro 2017-07-09 490 msginfo->msgmni = ns->msg_ctlmni;
156d9ed1260ee56 Al Viro 2017-07-09 491 msginfo->msgmax = ns->msg_ctlmax;
156d9ed1260ee56 Al Viro 2017-07-09 492 msginfo->msgmnb = ns->msg_ctlmnb;
156d9ed1260ee56 Al Viro 2017-07-09 493 msginfo->msgssz = MSGSSZ;
156d9ed1260ee56 Al Viro 2017-07-09 @494 msginfo->msgseg = MSGSEG;
d9a605e40b1376e Davidlohr Bueso 2013-09-11 495 down_read(&msg_ids(ns).rwsem);
^1da177e4c3f415 Linus Torvalds 2005-04-16 496 if (cmd == MSG_INFO) {
156d9ed1260ee56 Al Viro 2017-07-09 497 msginfo->msgpool = msg_ids(ns).in_use;
156d9ed1260ee56 Al Viro 2017-07-09 498 msginfo->msgmap = atomic_read(&ns->msg_hdrs);
156d9ed1260ee56 Al Viro 2017-07-09 499 msginfo->msgtql = atomic_read(&ns->msg_bytes);
^1da177e4c3f415 Linus Torvalds 2005-04-16 500 } else {
156d9ed1260ee56 Al Viro 2017-07-09 501 msginfo->msgmap = MSGMAP;
156d9ed1260ee56 Al Viro 2017-07-09 502 msginfo->msgpool = MSGPOOL;
156d9ed1260ee56 Al Viro 2017-07-09 503 msginfo->msgtql = MSGTQL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 504 }
27c331a17461420 Manfred Spraul 2018-08-21 505 max_idx = ipc_get_maxidx(&msg_ids(ns));
d9a605e40b1376e Davidlohr Bueso 2013-09-11 506 up_read(&msg_ids(ns).rwsem);
27c331a17461420 Manfred Spraul 2018-08-21 507 return (max_idx < 0) ? 0 : max_idx;
^1da177e4c3f415 Linus Torvalds 2005-04-16 508 }
2cafed30f150f73 Davidlohr Bueso 2013-07-08 509
---
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 v6 06/10] drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20201028]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next linus/master anholt/for-next v5.10-rc1 v5.9 v5.9-rc8 v5.10-rc1]
[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/Thomas-Zimmermann/Support-GEM-ob...
base: 1c86f90a16d413621918ae1403842b43632f0b3d
config: x86_64-randconfig-s021-20201028 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-56-gc09e8239-dirty
# https://github.com/0day-ci/linux/commit/649bc838b7c4e7b01ccad3decaa3e13f3...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
git checkout 649bc838b7c4e7b01ccad3decaa3e13f31659c6b
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
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/gpu/drm/ast/ast_cursor.c:125:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/ast/ast_cursor.c:125:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *dstxor @@ got unsigned char [usertype] * @@
drivers/gpu/drm/ast/ast_cursor.c:125:16: sparse: expected unsigned char [noderef] [usertype] __iomem *dstxor
drivers/gpu/drm/ast/ast_cursor.c:125:16: sparse: got unsigned char [usertype] *
>> drivers/gpu/drm/ast/ast_cursor.c:259:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *dst @@ got void *vaddr @@
>> drivers/gpu/drm/ast/ast_cursor.c:259:13: sparse: expected unsigned char [noderef] [usertype] __iomem *dst
>> drivers/gpu/drm/ast/ast_cursor.c:259:13: sparse: got void *vaddr
--
>> drivers/gpu/drm/qxl/qxl_object.c:172:29: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] __iomem * @@
drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: expected void *
drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: got void [noderef] __iomem *
drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *vaddr @@ got void *pmap @@
drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: expected void [noderef] __iomem *vaddr
drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: got void *pmap
vim +259 drivers/gpu/drm/ast/ast_cursor.c
103
104 static void update_cursor_image(u8 __iomem *dst, const u8 *src, int width, int height)
105 {
106 union {
107 u32 ul;
108 u8 b[4];
109 } srcdata32[2], data32;
110 union {
111 u16 us;
112 u8 b[2];
113 } data16;
114 u32 csum = 0;
115 s32 alpha_dst_delta, last_alpha_dst_delta;
116 u8 __iomem *dstxor;
117 const u8 *srcxor;
118 int i, j;
119 u32 per_pixel_copy, two_pixel_copy;
120
121 alpha_dst_delta = AST_MAX_HWC_WIDTH << 1;
122 last_alpha_dst_delta = alpha_dst_delta - (width << 1);
123
124 srcxor = src;
> 125 dstxor = (u8 *)dst + last_alpha_dst_delta + (AST_MAX_HWC_HEIGHT - height) * alpha_dst_delta;
126 per_pixel_copy = width & 1;
127 two_pixel_copy = width >> 1;
128
129 for (j = 0; j < height; j++) {
130 for (i = 0; i < two_pixel_copy; i++) {
131 srcdata32[0].ul = *((u32 *)srcxor) & 0xf0f0f0f0;
132 srcdata32[1].ul = *((u32 *)(srcxor + 4)) & 0xf0f0f0f0;
133 data32.b[0] = srcdata32[0].b[1] | (srcdata32[0].b[0] >> 4);
134 data32.b[1] = srcdata32[0].b[3] | (srcdata32[0].b[2] >> 4);
135 data32.b[2] = srcdata32[1].b[1] | (srcdata32[1].b[0] >> 4);
136 data32.b[3] = srcdata32[1].b[3] | (srcdata32[1].b[2] >> 4);
137
138 writel(data32.ul, dstxor);
139 csum += data32.ul;
140
141 dstxor += 4;
142 srcxor += 8;
143
144 }
145
146 for (i = 0; i < per_pixel_copy; i++) {
147 srcdata32[0].ul = *((u32 *)srcxor) & 0xf0f0f0f0;
148 data16.b[0] = srcdata32[0].b[1] | (srcdata32[0].b[0] >> 4);
149 data16.b[1] = srcdata32[0].b[3] | (srcdata32[0].b[2] >> 4);
150 writew(data16.us, dstxor);
151 csum += (u32)data16.us;
152
153 dstxor += 2;
154 srcxor += 4;
155 }
156 dstxor += last_alpha_dst_delta;
157 }
158
159 /* write checksum + signature */
160 dst += AST_HWC_SIZE;
161 writel(csum, dst);
162 writel(width, dst + AST_HWC_SIGNATURE_SizeX);
163 writel(height, dst + AST_HWC_SIGNATURE_SizeY);
164 writel(0, dst + AST_HWC_SIGNATURE_HOTSPOTX);
165 writel(0, dst + AST_HWC_SIGNATURE_HOTSPOTY);
166 }
167
168 int ast_cursor_blit(struct ast_private *ast, struct drm_framebuffer *fb)
169 {
170 struct drm_device *dev = &ast->base;
171 struct drm_gem_vram_object *gbo;
172 struct dma_buf_map map;
173 int ret;
174 void *src;
175 void __iomem *dst;
176
177 if (drm_WARN_ON_ONCE(dev, fb->width > AST_MAX_HWC_WIDTH) ||
178 drm_WARN_ON_ONCE(dev, fb->height > AST_MAX_HWC_HEIGHT))
179 return -EINVAL;
180
181 gbo = drm_gem_vram_of_gem(fb->obj[0]);
182
183 ret = drm_gem_vram_pin(gbo, 0);
184 if (ret)
185 return ret;
186 ret = drm_gem_vram_vmap(gbo, &map);
187 if (ret)
188 goto err_drm_gem_vram_unpin;
189 src = map.vaddr; /* TODO: Use mapping abstraction properly */
190
191 dst = ast->cursor.map[ast->cursor.next_index].vaddr_iomem;
192
193 /* do data transfer to cursor BO */
194 update_cursor_image(dst, src, fb->width, fb->height);
195
196 drm_gem_vram_vunmap(gbo, &map);
197 drm_gem_vram_unpin(gbo);
198
199 return 0;
200
201 err_drm_gem_vram_unpin:
202 drm_gem_vram_unpin(gbo);
203 return ret;
204 }
205
206 static void ast_cursor_set_base(struct ast_private *ast, u64 address)
207 {
208 u8 addr0 = (address >> 3) & 0xff;
209 u8 addr1 = (address >> 11) & 0xff;
210 u8 addr2 = (address >> 19) & 0xff;
211
212 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc8, addr0);
213 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc9, addr1);
214 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xca, addr2);
215 }
216
217 void ast_cursor_page_flip(struct ast_private *ast)
218 {
219 struct drm_device *dev = &ast->base;
220 struct drm_gem_vram_object *gbo;
221 s64 off;
222
223 gbo = ast->cursor.gbo[ast->cursor.next_index];
224
225 off = drm_gem_vram_offset(gbo);
226 if (drm_WARN_ON_ONCE(dev, off < 0))
227 return; /* Bug: we didn't pin the cursor HW BO to VRAM. */
228
229 ast_cursor_set_base(ast, off);
230
231 ++ast->cursor.next_index;
232 ast->cursor.next_index %= ARRAY_SIZE(ast->cursor.gbo);
233 }
234
235 static void ast_cursor_set_location(struct ast_private *ast, u16 x, u16 y,
236 u8 x_offset, u8 y_offset)
237 {
238 u8 x0 = (x & 0x00ff);
239 u8 x1 = (x & 0x0f00) >> 8;
240 u8 y0 = (y & 0x00ff);
241 u8 y1 = (y & 0x0700) >> 8;
242
243 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc2, x_offset);
244 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc3, y_offset);
245 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc4, x0);
246 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc5, x1);
247 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc6, y0);
248 ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc7, y1);
249 }
250
251 void ast_cursor_show(struct ast_private *ast, int x, int y,
252 unsigned int offset_x, unsigned int offset_y)
253 {
254 u8 x_offset, y_offset;
255 u8 __iomem *dst;
256 u8 __iomem *sig;
257 u8 jreg;
258
> 259 dst = ast->cursor.map[ast->cursor.next_index].vaddr;
260
261 sig = dst + AST_HWC_SIZE;
262 writel(x, sig + AST_HWC_SIGNATURE_X);
263 writel(y, sig + AST_HWC_SIGNATURE_Y);
264
265 if (x < 0) {
266 x_offset = (-x) + offset_x;
267 x = 0;
268 } else {
269 x_offset = offset_x;
270 }
271 if (y < 0) {
272 y_offset = (-y) + offset_y;
273 y = 0;
274 } else {
275 y_offset = offset_y;
276 }
277
278 ast_cursor_set_location(ast, x, y, x_offset, y_offset);
279
280 /* dummy write to fire HWC */
281 jreg = 0x02 |
282 0x01; /* enable ARGB4444 cursor */
283 ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xcb, 0xfc, jreg);
284 }
285
---
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 v6 06/10] drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends
by kernel test robot
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20201028]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next linus/master anholt/for-next v5.10-rc1 v5.9 v5.9-rc8 v5.10-rc1]
[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/Thomas-Zimmermann/Support-GEM-ob...
base: 1c86f90a16d413621918ae1403842b43632f0b3d
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/649bc838b7c4e7b01ccad3decaa3e13f3...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
git checkout 649bc838b7c4e7b01ccad3decaa3e13f31659c6b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
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/gpu/drm/msm/msm_gem.c:1014:10: error: initialization of 'int (*)(struct drm_gem_object *, struct dma_buf_map *)' from incompatible pointer type 'void * (*)(struct drm_gem_object *)' [-Werror=incompatible-pointer-types]
1014 | .vmap = msm_gem_prime_vmap,
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem.c:1014:10: note: (near initialization for 'msm_gem_object_funcs.vmap')
>> drivers/gpu/drm/msm/msm_gem.c:1015:12: error: initialization of 'void (*)(struct drm_gem_object *, struct dma_buf_map *)' from incompatible pointer type 'void (*)(struct drm_gem_object *, void *)' [-Werror=incompatible-pointer-types]
1015 | .vunmap = msm_gem_prime_vunmap,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gem.c:1015:12: note: (near initialization for 'msm_gem_object_funcs.vunmap')
cc1: some warnings being treated as errors
vim +1014 drivers/gpu/drm/msm/msm_gem.c
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1008
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1009 static const struct drm_gem_object_funcs msm_gem_object_funcs = {
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1010 .free = msm_gem_free_object,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1011 .pin = msm_gem_prime_pin,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1012 .unpin = msm_gem_prime_unpin,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1013 .get_sg_table = msm_gem_prime_get_sg_table,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 @1014 .vmap = msm_gem_prime_vmap,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 @1015 .vunmap = msm_gem_prime_vunmap,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1016 .vm_ops = &vm_ops,
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1017 };
3c9edd9c85f53e0 Thomas Zimmermann 2020-09-23 1018
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot
Hi Luc,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ed8780e3f2ecc82645342d070c6b4e530532e680
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 9 weeks ago
config: sh-randconfig-s031-20201028 (attached as .config)
compiler: sh4-linux-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-56-gc09e8239-dirty
# 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 e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# 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=sh
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 >>)"
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: got unsigned int
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7201.c:414:9: sparse: got unsigned int
--
>> arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:27:26: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:36:20: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:46:20: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7201.c:56:21: sparse: got unsigned int
--
fs/f2fs/file.c:48:54: sparse: sparse: cast from restricted vm_fault_t
fs/f2fs/file.c:1975:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/f2fs/file.c:1975:13: sparse: expected int const *__gu_addr
fs/f2fs/file.c:1975:13: sparse: got int [noderef] __user *
>> fs/f2fs/file.c:1975:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> fs/f2fs/file.c:1975:13: sparse: expected void const volatile [noderef] __user *ptr
fs/f2fs/file.c:1975:13: sparse: got int const *__gu_addr
fs/f2fs/file.c:2229:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/f2fs/file.c:2229:13: sparse: expected unsigned int const *__gu_addr
fs/f2fs/file.c:2229:13: sparse: got unsigned int [noderef] [usertype] __user *
>> fs/f2fs/file.c:2229:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/f2fs/file.c:2229:13: sparse: expected void const volatile [noderef] __user *ptr
fs/f2fs/file.c:2229:13: sparse: got unsigned int const *__gu_addr
fs/f2fs/file.c:2466:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/f2fs/file.c:2466:13: sparse: expected unsigned int const *__gu_addr
fs/f2fs/file.c:2466:13: sparse: got unsigned int [noderef] [usertype] __user *
fs/f2fs/file.c:2466:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/f2fs/file.c:2466:13: sparse: expected void const volatile [noderef] __user *ptr
fs/f2fs/file.c:2466:13: sparse: got unsigned int const *__gu_addr
fs/f2fs/file.c:3226:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/f2fs/file.c:3226:13: sparse: expected unsigned int const *__gu_addr
fs/f2fs/file.c:3226:13: sparse: got unsigned int [noderef] [usertype] __user *
fs/f2fs/file.c:3226:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
fs/f2fs/file.c:3226:13: sparse: expected void const volatile [noderef] __user *ptr
fs/f2fs/file.c:3226:13: sparse: got unsigned int const *__gu_addr
fs/f2fs/file.c:3379:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short const [usertype] *pwcs @@ got restricted __le16 * @@
fs/f2fs/file.c:3379:36: sparse: expected unsigned short const [usertype] *pwcs
fs/f2fs/file.c:3379:36: sparse: got restricted __le16 *
fs/f2fs/file.c:3415:28: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned short [usertype] *pwcs @@ got restricted __le16 * @@
fs/f2fs/file.c:3415:28: sparse: expected unsigned short [usertype] *pwcs
fs/f2fs/file.c:3415:28: sparse: got restricted __le16 *
--
fs/jfs/jfs_debug.c:36:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user *buffer @@
fs/jfs/jfs_debug.c:36:13: sparse: expected char const *__gu_addr
fs/jfs/jfs_debug.c:36:13: sparse: got char const [noderef] __user *buffer
>> fs/jfs/jfs_debug.c:36:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const *__gu_addr @@
>> fs/jfs/jfs_debug.c:36:13: sparse: expected void const volatile [noderef] __user *ptr
fs/jfs/jfs_debug.c:36:13: sparse: got char const *__gu_addr
--
fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/nilfs2/ioctl.c:138:13: sparse: expected int const *__gu_addr
fs/nilfs2/ioctl.c:138:13: sparse: got int [noderef] __user *
>> fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> fs/nilfs2/ioctl.c:138:13: sparse: expected void const volatile [noderef] __user *ptr
fs/nilfs2/ioctl.c:138:13: sparse: got int const *__gu_addr
--
block/bsg.c:336:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *uarg @@
block/bsg.c:336:13: sparse: expected int const *__gu_addr
block/bsg.c:336:13: sparse: got int [noderef] __user *uarg
>> block/bsg.c:336:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> block/bsg.c:336:13: sparse: expected void const volatile [noderef] __user *ptr
block/bsg.c:336:13: sparse: got int const *__gu_addr
--
drivers/net/ppp/ppp_generic.c:925:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:925:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:925:21: sparse: got int [noderef] __user *p
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> drivers/net/ppp/ppp_generic.c:925:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:925:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:939:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:939:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:939:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:939:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:939:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:939:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:954:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:954:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:954:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:954:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:954:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:954:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:651:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:651:29: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:651:29: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:651:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:651:29: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:651:29: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:681:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:681:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:681:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:681:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:681:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:681:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:688:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:688:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:688:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:688:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:688:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:688:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:726:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:726:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:726:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:726:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:726:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:726:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:755:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:755:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:755:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:755:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:755:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:755:21: sparse: got int const *__gu_addr
drivers/net/ppp/ppp_generic.c:823:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *p @@
drivers/net/ppp/ppp_generic.c:823:21: sparse: expected int const *__gu_addr
drivers/net/ppp/ppp_generic.c:823:21: sparse: got int [noderef] __user *p
drivers/net/ppp/ppp_generic.c:823:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/ppp_generic.c:823:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/ppp_generic.c:823:21: sparse: got int const *__gu_addr
--
drivers/net/ppp/pppoe.c:765:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/ppp/pppoe.c:765:21: sparse: expected int const *__gu_addr
drivers/net/ppp/pppoe.c:765:21: sparse: got int [noderef] __user *
>> drivers/net/ppp/pppoe.c:765:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> drivers/net/ppp/pppoe.c:765:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/pppoe.c:765:21: sparse: got int const *__gu_addr
drivers/net/ppp/pppoe.c:778:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/ppp/pppoe.c:778:21: sparse: expected int const *__gu_addr
drivers/net/ppp/pppoe.c:778:21: sparse: got int [noderef] __user *
drivers/net/ppp/pppoe.c:778:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/net/ppp/pppoe.c:778:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/net/ppp/pppoe.c:778:21: sparse: got int const *__gu_addr
--
drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/scsi/scsi_ioctl.c:48:21: sparse: expected unsigned int const *__gu_addr
drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int [noderef] __user *
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
>> drivers/scsi/scsi_ioctl.c:48:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/scsi_ioctl.c:48:21: sparse: got unsigned int const *__gu_addr
--
drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *arg @@
drivers/scsi/scsi_error.c:2341:17: sparse: expected int const *__gu_addr
drivers/scsi/scsi_error.c:2341:17: sparse: got int [noderef] __user *arg
>> drivers/scsi/scsi_error.c:2341:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> drivers/scsi/scsi_error.c:2341:17: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/scsi_error.c:2341:17: sparse: got int const *__gu_addr
--
drivers/scsi/sg.c:415:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:415:21: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:415:21: sparse: got int [noderef] __user *
>> drivers/scsi/sg.c:415:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> drivers/scsi/sg.c:415:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:415:21: sparse: got int const *__gu_addr
drivers/scsi/sg.c:419:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:419:32: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:419:32: sparse: got int [noderef] __user *
drivers/scsi/sg.c:419:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:419:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:419:32: sparse: got int const *__gu_addr
drivers/scsi/sg.c:425:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] __user * @@
drivers/scsi/sg.c:425:32: sparse: expected signed int const *__gu_addr
drivers/scsi/sg.c:425:32: sparse: got signed int [noderef] __user *
>> drivers/scsi/sg.c:425:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got signed int const *__gu_addr @@
drivers/scsi/sg.c:425:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:425:32: sparse: got signed int const *__gu_addr
drivers/scsi/sg.c:431:32: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/scsi/sg.c:431:32: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:431:32: sparse: got int [noderef] __user *
drivers/scsi/sg.c:431:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:431:32: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:431:32: sparse: got int const *__gu_addr
drivers/scsi/sg.c:638:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user *[assigned] buf @@
drivers/scsi/sg.c:638:13: sparse: expected char const *__gu_addr
drivers/scsi/sg.c:638:13: sparse: got char const [noderef] __user *[assigned] buf
>> drivers/scsi/sg.c:638:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got char const *__gu_addr @@
drivers/scsi/sg.c:638:13: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:638:13: sparse: got char const *__gu_addr
drivers/scsi/sg.c:955:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:955:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:955:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:955:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:955:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:955:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:998:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:998:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:998:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:998:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:998:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:998:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1026:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1026:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1026:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1026:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1026:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1026:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1051:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1051:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1051:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1051:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1051:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1051:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1059:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1059:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1059:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1059:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1059:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1059:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1067:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1067:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1067:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1067:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1067:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1067:26: sparse: got int const *__gu_addr
drivers/scsi/sg.c:1111:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/scsi/sg.c:1111:26: sparse: expected int const *__gu_addr
drivers/scsi/sg.c:1111:26: sparse: got int [noderef] __user *ip
drivers/scsi/sg.c:1111:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/scsi/sg.c:1111:26: sparse: expected void const volatile [noderef] __user *ptr
drivers/scsi/sg.c:1111:26: sparse: got int const *__gu_addr
--
net/ax25/af_ax25.c:695:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/ax25/af_ax25.c:695:13: sparse: expected int const *__gu_addr
net/ax25/af_ax25.c:695:13: sparse: got int [noderef] __user *optlen
>> net/ax25/af_ax25.c:695:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> net/ax25/af_ax25.c:695:13: sparse: expected void const volatile [noderef] __user *ptr
net/ax25/af_ax25.c:695:13: sparse: got int const *__gu_addr
net/ax25/af_ax25.c:1742:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected long const *__gu_addr @@ got long [noderef] __user * @@
net/ax25/af_ax25.c:1742:21: sparse: expected long const *__gu_addr
net/ax25/af_ax25.c:1742:21: sparse: got long [noderef] __user *
>> net/ax25/af_ax25.c:1742:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got long const *__gu_addr @@
net/ax25/af_ax25.c:1742:21: sparse: expected void const volatile [noderef] __user *ptr
net/ax25/af_ax25.c:1742:21: sparse: got long const *__gu_addr
--
net/can/raw.c:659:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/can/raw.c:659:13: sparse: expected int const *__gu_addr
net/can/raw.c:659:13: sparse: got int [noderef] __user *optlen
>> net/can/raw.c:659:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> net/can/raw.c:659:13: sparse: expected void const volatile [noderef] __user *ptr
net/can/raw.c:659:13: sparse: got int const *__gu_addr
--
net/can/j1939/socket.c:748:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/can/j1939/socket.c:748:13: sparse: expected int const *__gu_addr
net/can/j1939/socket.c:748:13: sparse: got int [noderef] __user *optlen
>> net/can/j1939/socket.c:748:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> net/can/j1939/socket.c:748:13: sparse: expected void const volatile [noderef] __user *ptr
net/can/j1939/socket.c:748:13: sparse: got int const *__gu_addr
--
net/rose/af_rose.c:438:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/rose/af_rose.c:438:13: sparse: expected int const *__gu_addr
net/rose/af_rose.c:438:13: sparse: got int [noderef] __user *optlen
>> net/rose/af_rose.c:438:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> net/rose/af_rose.c:438:13: sparse: expected void const volatile [noderef] __user *ptr
net/rose/af_rose.c:438:13: sparse: got int const *__gu_addr
--
drivers/staging/greybus/fw-management.c:493:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
drivers/staging/greybus/fw-management.c:493:21: sparse: expected unsigned int const *__gu_addr
drivers/staging/greybus/fw-management.c:493:21: sparse: got unsigned int [noderef] __user *
>> drivers/staging/greybus/fw-management.c:493:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
>> drivers/staging/greybus/fw-management.c:493:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/staging/greybus/fw-management.c:493:21: sparse: got unsigned int const *__gu_addr
--
drivers/vhost/vdpa.c:361:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/vhost/vdpa.c:361:13: sparse: expected unsigned int const *__gu_addr
drivers/vhost/vdpa.c:361:13: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/vhost/vdpa.c:361:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
>> drivers/vhost/vdpa.c:361:13: sparse: expected void const volatile [noderef] __user *ptr
drivers/vhost/vdpa.c:361:13: sparse: got unsigned int const *__gu_addr
--
drivers/vhost/vhost.c:1571:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user *idxp @@
drivers/vhost/vhost.c:1571:13: sparse: expected unsigned int const *__gu_addr
drivers/vhost/vhost.c:1571:13: sparse: got unsigned int [noderef] [usertype] __user *idxp
>> drivers/vhost/vhost.c:1571:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
>> drivers/vhost/vhost.c:1571:13: sparse: expected void const volatile [noderef] __user *ptr
drivers/vhost/vhost.c:1571:13: sparse: got unsigned int const *__gu_addr
drivers/vhost/vhost.c:1771:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/vhost/vhost.c:1771:21: sparse: expected int const *__gu_addr
drivers/vhost/vhost.c:1771:21: sparse: got int [noderef] __user *
>> drivers/vhost/vhost.c:1771:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
drivers/vhost/vhost.c:1771:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/vhost/vhost.c:1771:21: sparse: got int const *__gu_addr
vim +414 arch/sh/kernel/cpu/sh2a/setup-sh7201.c
da107c6ef919b3 Magnus Damm 2009-04-30 410
da107c6ef919b3 Magnus Damm 2009-04-30 411 void __init plat_early_device_setup(void)
da107c6ef919b3 Magnus Damm 2009-04-30 412 {
da107c6ef919b3 Magnus Damm 2009-04-30 413 /* enable MTU2 clock */
da107c6ef919b3 Magnus Damm 2009-04-30 @414 __raw_writeb(__raw_readb(STBCR3) & ~0x20, STBCR3);
:::::: The code at line 414 was first introduced by commit
:::::: da107c6ef919b3afd9c9b405a4f71e03b5725b04 sh: sh2a MTU2 platform data
:::::: TO: Magnus Damm <damm(a)igel.co.jp>
:::::: CC: Paul Mundt <lethal(a)linux-sh.org>
---
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 v6 10/10] drm/fb_helper: Support framebuffers in I/O memory
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20201028]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next linus/master anholt/for-next v5.10-rc1 v5.9 v5.9-rc8 v5.10-rc1]
[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/Thomas-Zimmermann/Support-GEM-ob...
base: 1c86f90a16d413621918ae1403842b43632f0b3d
config: i386-randconfig-s001-20201028 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-56-gc09e8239-dirty
# https://github.com/0day-ci/linux/commit/afd979f90bd5ffa7cee166b1a7b2126fc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
git checkout afd979f90bd5ffa7cee166b1a7b2126fc591a1f0
# 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/gpu/drm/drm_fb_helper.c:2041:29: sparse: sparse: incompatible types in comparison expression (different type sizes):
>> drivers/gpu/drm/drm_fb_helper.c:2041:29: sparse: unsigned int *
>> drivers/gpu/drm/drm_fb_helper.c:2041:29: sparse: unsigned long *
drivers/gpu/drm/drm_fb_helper.c:2117:29: sparse: sparse: incompatible types in comparison expression (different type sizes):
drivers/gpu/drm/drm_fb_helper.c:2117:29: sparse: unsigned int *
drivers/gpu/drm/drm_fb_helper.c:2117:29: sparse: unsigned long *
vim +2041 drivers/gpu/drm/drm_fb_helper.c
2036
2037 static ssize_t fb_read_screen_base(struct fb_info *info, char __user *buf, size_t count,
2038 loff_t pos)
2039 {
2040 const char __iomem *src = info->screen_base + pos;
> 2041 size_t alloc_size = min(count, PAGE_SIZE);
2042 ssize_t ret = 0;
2043 char *tmp;
2044
2045 tmp = kmalloc(alloc_size, GFP_KERNEL);
2046 if (!tmp)
2047 return -ENOMEM;
2048
2049 while (count) {
2050 size_t c = min(count, alloc_size);
2051
2052 memcpy_fromio(tmp, src, c);
2053 if (copy_to_user(buf, tmp, c)) {
2054 ret = -EFAULT;
2055 break;
2056 }
2057
2058 src += c;
2059 buf += c;
2060 ret += c;
2061 count -= c;
2062 }
2063
2064 kfree(tmp);
2065
2066 return ret;
2067 }
2068
---
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 v6 06/10] drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20201028]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next linus/master anholt/for-next v5.10-rc1 v5.9 v5.9-rc8 v5.10-rc1]
[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/Thomas-Zimmermann/Support-GEM-ob...
base: 1c86f90a16d413621918ae1403842b43632f0b3d
config: arm64-randconfig-r005-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 50dfa19cc799ae7cddd39a95dbfce675a12672ad)
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://github.com/0day-ci/linux/commit/649bc838b7c4e7b01ccad3decaa3e13f3...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/Support-GEM-object-mappings-from-I-O-memory/20201029-033704
git checkout 649bc838b7c4e7b01ccad3decaa3e13f31659c6b
# 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 >>):
>> drivers/gpu/drm/qxl/qxl_display.c:624:3: warning: variable 'cursor' is uninitialized when used here [-Wuninitialized]
cursor->header.unique = 0;
^~~~~~
drivers/gpu/drm/qxl/qxl_display.c:581:27: note: initialize the variable 'cursor' to silence this warning
struct qxl_cursor *cursor;
^
= NULL
1 warning generated.
vim +/cursor +624 drivers/gpu/drm/qxl/qxl_display.c
c2ff663260fee3 Gabriel Krisman Bertazi 2017-02-27 571
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 572 static void qxl_cursor_atomic_update(struct drm_plane *plane,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 573 struct drm_plane_state *old_state)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 574 {
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 575 struct drm_device *dev = plane->dev;
e304f8a0513b83 Daniel Vetter 2020-04-15 576 struct qxl_device *qdev = to_qxl(dev);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 577 struct drm_framebuffer *fb = plane->state->fb;
9428088c90b6f7 Ray Strode 2017-11-27 578 struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 579 struct qxl_release *release;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 580 struct qxl_cursor_cmd *cmd;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 581 struct qxl_cursor *cursor;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 582 struct drm_gem_object *obj;
889ad63d41eea2 Jeremy Cline 2018-06-01 583 struct qxl_bo *cursor_bo = NULL, *user_bo = NULL, *old_cursor_bo = NULL;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 584 int ret;
649bc838b7c4e7 Thomas Zimmermann 2020-10-28 585 struct dma_buf_map user_map;
649bc838b7c4e7 Thomas Zimmermann 2020-10-28 586 struct dma_buf_map cursor_map;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 587 void *user_ptr;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 588 int size = 64*64*4;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 589
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 590 ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 591 QXL_RELEASE_CURSOR_CMD,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 592 &release, NULL);
ee5cb7c465360f Dan Carpenter 2017-03-14 593 if (ret)
ee5cb7c465360f Dan Carpenter 2017-03-14 594 return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 595
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 596 if (fb != old_state->fb) {
bf8744e40cd6db Peter Wu 2018-09-10 597 obj = fb->obj[0];
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 598 user_bo = gem_to_qxl_bo(obj);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 599
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 600 /* pinning is done in the prepare/cleanup framevbuffer */
649bc838b7c4e7 Thomas Zimmermann 2020-10-28 601 ret = qxl_bo_kmap(user_bo, &user_map);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 602 if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 603 goto out_free_release;
649bc838b7c4e7 Thomas Zimmermann 2020-10-28 604 user_ptr = user_map.vaddr; /* TODO: Use mapping abstraction properly */
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 605
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 606 ret = qxl_alloc_bo_reserved(qdev, release,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 607 sizeof(struct qxl_cursor) + size,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 608 &cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 609 if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 610 goto out_kunmap;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 611
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 612 ret = qxl_bo_pin(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 613 if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 614 goto out_free_bo;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 615
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 616 ret = qxl_release_reserve_list(release, true);
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 617 if (ret)
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 618 goto out_unpin;
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 619
649bc838b7c4e7 Thomas Zimmermann 2020-10-28 620 ret = qxl_bo_kmap(cursor_bo, &cursor_map);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 621 if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 622 goto out_backoff;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 623
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 @624 cursor->header.unique = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 625 cursor->header.type = SPICE_CURSOR_TYPE_ALPHA;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 626 cursor->header.width = 64;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 627 cursor->header.height = 64;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 628 cursor->header.hot_spot_x = fb->hot_x;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 629 cursor->header.hot_spot_y = fb->hot_y;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 630 cursor->data_size = size;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 631 cursor->chunk.next_chunk = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 632 cursor->chunk.prev_chunk = 0;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 633 cursor->chunk.data_size = size;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 634 memcpy(cursor->chunk.data, user_ptr, size);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 635 qxl_bo_kunmap(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 636 qxl_bo_kunmap(user_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 637
429030bc944ee9 Gabriel Krisman Bertazi 2017-05-19 638 cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 639 cmd->u.set.visible = 1;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 640 cmd->u.set.shape = qxl_bo_physical_address(qdev,
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 641 cursor_bo, 0);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 642 cmd->type = QXL_CURSOR_SET;
9428088c90b6f7 Ray Strode 2017-11-27 643
889ad63d41eea2 Jeremy Cline 2018-06-01 644 old_cursor_bo = qcrtc->cursor_bo;
9428088c90b6f7 Ray Strode 2017-11-27 645 qcrtc->cursor_bo = cursor_bo;
9428088c90b6f7 Ray Strode 2017-11-27 646 cursor_bo = NULL;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 647 } else {
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 648
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 649 ret = qxl_release_reserve_list(release, true);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 650 if (ret)
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 651 goto out_free_release;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 652
429030bc944ee9 Gabriel Krisman Bertazi 2017-05-19 653 cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 654 cmd->type = QXL_CURSOR_MOVE;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 655 }
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 656
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 657 cmd->u.position.x = plane->state->crtc_x + fb->hot_x;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 658 cmd->u.position.y = plane->state->crtc_y + fb->hot_y;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 659
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 660 qxl_release_unmap(qdev, release, &cmd->release_info);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 661 qxl_release_fence_buffer_objects(release);
933db73351d359 Vasily Averin 2020-04-29 662 qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 663
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 664 if (old_cursor_bo != NULL)
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 665 qxl_bo_unpin(old_cursor_bo);
889ad63d41eea2 Jeremy Cline 2018-06-01 666 qxl_bo_unref(&old_cursor_bo);
16c6db3688734b Ray Strode 2017-11-27 667 qxl_bo_unref(&cursor_bo);
16c6db3688734b Ray Strode 2017-11-27 668
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 669 return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 670
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 671 out_backoff:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 672 qxl_release_backoff_reserve_list(release);
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 673 out_unpin:
0081cdfe63f0b5 Christophe Fergeau 2018-11-20 674 qxl_bo_unpin(cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 675 out_free_bo:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 676 qxl_bo_unref(&cursor_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 677 out_kunmap:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 678 qxl_bo_kunmap(user_bo);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 679 out_free_release:
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 680 qxl_release_free(qdev, release);
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 681 return;
1277eed5fecb88 Gabriel Krisman Bertazi 2017-02-27 682
---
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 RESEND v2 1/3] arm64: wrap and generalise counter read functions
by kernel test robot
Hi Ionela,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on 3650b228f83adda7e5ee532e2b90429c03f7b9ec]
url: https://github.com/0day-ci/linux/commits/Ionela-Voinescu/arm64-cppc-add-F...
base: 3650b228f83adda7e5ee532e2b90429c03f7b9ec
config: arm64-randconfig-r001-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 50dfa19cc799ae7cddd39a95dbfce675a12672ad)
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://github.com/0day-ci/linux/commit/bcdb8bb7da562e2438f66eeb357a724c6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ionela-Voinescu/arm64-cppc-add-FFH-support-using-AMUs/20201028-004534
git checkout bcdb8bb7da562e2438f66eeb357a724c6484e6bb
# 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 >>):
>> arch/arm64/kernel/topology.c:281:6: warning: no previous prototype for function 'topology_scale_freq_tick' [-Wmissing-prototypes]
void topology_scale_freq_tick(void)
^
arch/arm64/kernel/topology.c:281:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void topology_scale_freq_tick(void)
^
static
arch/arm64/kernel/topology.c:140:1: warning: unused function 'store_corecnt' [-Wunused-function]
COUNTER_READ_STORE(corecnt, 0);
^
arch/arm64/kernel/topology.c:131:20: note: expanded from macro 'COUNTER_READ_STORE'
static inline void store_##NAME(void *val) \
^
<scratch space>:206:1: note: expanded from here
store_corecnt
^
arch/arm64/kernel/topology.c:141:1: warning: unused function 'store_constcnt' [-Wunused-function]
COUNTER_READ_STORE(constcnt, 0);
^
arch/arm64/kernel/topology.c:131:20: note: expanded from macro 'COUNTER_READ_STORE'
static inline void store_##NAME(void *val) \
^
<scratch space>:209:1: note: expanded from here
store_constcnt
^
3 warnings generated.
vim +/topology_scale_freq_tick +281 arch/arm64/kernel/topology.c
cd0ed03a8903a0b Ionela Voinescu 2020-03-05 280
cd0ed03a8903a0b Ionela Voinescu 2020-03-05 @281 void topology_scale_freq_tick(void)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[tglx-devel:x86/apic 15/35] drivers/pci/controller/vmd.c:133:2: warning: 'memset' will always overflow; destination buffer has size 8, but size argument is 16
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git x86/apic
head: 32960489e2caa56bb259f8a8137b53576a2fa102
commit: 176cfd8483128d01c05548162119c4b985f4f2ed [15/35] PCI: vmd: Use msi_msg shadow structs
config: x86_64-randconfig-a003-20201028 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 50dfa19cc799ae7cddd39a95dbfce675a12672ad)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/commit/?id...
git remote add tglx-devel https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git
git fetch --no-tags tglx-devel x86/apic
git checkout 176cfd8483128d01c05548162119c4b985f4f2ed
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/pci/controller/vmd.c:133:2: warning: 'memset' will always overflow; destination buffer has size 8, but size argument is 16 [-Wfortify-source]
memset(&msg, 0, sizeof(*msg));
^
1 warning generated.
vim +/memset +133 drivers/pci/controller/vmd.c
118
119 /*
120 * Drivers managing a device in a VMD domain allocate their own IRQs as before,
121 * but the MSI entry for the hardware it's driving will be programmed with a
122 * destination ID for the VMD MSI-X table. The VMD muxes interrupts in its
123 * domain into one of its own, and the VMD driver de-muxes these for the
124 * handlers sharing that VMD IRQ. The vmd irq_domain provides the operations
125 * and irq_chip to set this up.
126 */
127 static void vmd_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
128 {
129 struct vmd_irq *vmdirq = data->chip_data;
130 struct vmd_irq_list *irq = vmdirq->irq;
131 struct vmd_dev *vmd = irq_data_get_irq_handler_data(data);
132
> 133 memset(&msg, 0, sizeof(*msg));
134 msg->address_hi = X86_MSI_BASE_ADDRESS_HIGH;
135 msg->arch_addr_lo.base_address = X86_MSI_BASE_ADDRESS_LOW;
136 msg->arch_addr_lo.destid_0_7 = index_from_irqs(vmd, irq);
137 }
138
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months