include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in '__jbd2_log_wait_for_space' - unexpected unlock
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7eac66d0456fe12a462e5c14c68e97c7460989da
commit: fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e parisc: Rework arch_rw locking functions
date: 5 months ago
config: parisc-randconfig-s032-20200820 (attached as .config)
compiler: hppa-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.2-191-g10164920-dirty
git checkout fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e
# 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=parisc
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 >>)
fs/jbd2/checkpoint.c: note: in included file (through arch/parisc/include/uapi/asm/unistd.h, arch/parisc/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/parisc/include/generated/uapi/asm/unistd_32.h:382:41: sparse: sparse: no newline at end of file
fs/jbd2/checkpoint.c: note: in included file (through include/linux/spinlock_api_smp.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
>> include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in '__jbd2_log_wait_for_space' - unexpected unlock
--
fs/btrfs/ctree.c: note: in included file (through arch/parisc/include/uapi/asm/unistd.h, arch/parisc/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/parisc/include/generated/uapi/asm/unistd_32.h:382:41: sparse: sparse: no newline at end of file
fs/btrfs/ctree.c:129:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:129:22: sparse: struct extent_buffer [noderef] <asn:4> *
fs/btrfs/ctree.c:129:22: sparse: struct extent_buffer *
fs/btrfs/ctree.c:1085:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:1085:17: sparse: struct extent_buffer [noderef] <asn:4> *
fs/btrfs/ctree.c:1085:17: sparse: struct extent_buffer *
fs/btrfs/ctree.c:1859:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:1859:17: sparse: struct extent_buffer [noderef] <asn:4> *
fs/btrfs/ctree.c:1859:17: sparse: struct extent_buffer *
fs/btrfs/ctree.c:3351:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:3351:9: sparse: struct extent_buffer [noderef] <asn:4> *
fs/btrfs/ctree.c:3351:9: sparse: struct extent_buffer *
fs/btrfs/ctree.c: note: in included file (through include/linux/spinlock_api_smp.h, include/linux/spinlock.h, include/linux/wait.h, ...):
>> include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in 'tree_mod_log_insert_move' - unexpected unlock
include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in 'tree_mod_log_eb_copy' - unexpected unlock
# 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 fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e
vim +/__jbd2_log_wait_for_space +219 include/linux/rwlock_api_smp.h
6b6b4792f89346e Thomas Gleixner 2009-11-16 215
9c1721aa4994f66 Thomas Gleixner 2009-12-03 216 static inline void __raw_write_unlock(rwlock_t *lock)
6b6b4792f89346e Thomas Gleixner 2009-11-16 217 {
5facae4f3549b5c Qian Cai 2019-09-19 218 rwlock_release(&lock->dep_map, _RET_IP_);
9828ea9d75c38fe Thomas Gleixner 2009-12-03 @219 do_raw_write_unlock(lock);
6b6b4792f89346e Thomas Gleixner 2009-11-16 220 preempt_enable();
6b6b4792f89346e Thomas Gleixner 2009-11-16 221 }
6b6b4792f89346e Thomas Gleixner 2009-11-16 222
:::::: The code at line 219 was first introduced by commit
:::::: 9828ea9d75c38fe3dce05d00566eed61c85732e6 locking: Further name space cleanups
:::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH V1] fuse: Fix VM_BUG_ON_PAGE issue while accessing zero ref count page
by kernel test robot
Hi Pradeep,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on fuse/for-next]
[also build test ERROR on v5.9-rc1 next-20200820]
[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/Pradeep-P-V-K/fuse-Fix-VM_BUG_ON...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next
config: x86_64-randconfig-a003-20200820 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4deda57106f7c9b982a49cb907c33e3966c8de7f)
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> fs/fuse/dev.c:955:11: error: no member named 'ff' in 'struct fuse_req'
if (req->ff)
~~~ ^
fs/fuse/dev.c:956:19: error: no member named 'ff' in 'struct fuse_req'
spin_lock(&req->ff->fc->lock);
~~~ ^
fs/fuse/dev.c:968:11: error: no member named 'ff' in 'struct fuse_req'
if (req->ff)
~~~ ^
fs/fuse/dev.c:969:21: error: no member named 'ff' in 'struct fuse_req'
spin_unlock(&req->ff->fc->lock);
~~~ ^
4 errors generated.
# https://github.com/0day-ci/linux/commit/776d24e60b6fdfbd88fc0cf0bf0485929...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Pradeep-P-V-K/fuse-Fix-VM_BUG_ON_PAGE-issue-while-accessing-zero-ref-count-page/20200821-005756
git checkout 776d24e60b6fdfbd88fc0cf0bf04859293d42bd6
vim +955 fs/fuse/dev.c
945
946 /* Copy pages in the request to/from userspace buffer */
947 static int fuse_copy_pages(struct fuse_copy_state *cs, unsigned nbytes,
948 int zeroing)
949 {
950 unsigned i;
951 int err = 0;
952 struct fuse_req *req = cs->req;
953 struct fuse_args_pages *ap = container_of(req->args, typeof(*ap), args);
954
> 955 if (req->ff)
956 spin_lock(&req->ff->fc->lock);
957 for (i = 0; i < ap->num_pages && (nbytes || zeroing); i++) {
958 unsigned int offset = ap->descs[i].offset;
959 unsigned int count = min(nbytes, ap->descs[i].length);
960
961 err = fuse_copy_page(cs, &ap->pages[i], offset, count, zeroing);
962 if (err)
963 goto err;
964
965 nbytes -= count;
966 }
967 err:
968 if (req->ff)
969 spin_unlock(&req->ff->fc->lock);
970 return err;
971 }
972
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/mmc/host/mtk-sd.c:undefined reference to `clk_get_parent'
by kernel test robot
Hi Jiaxun,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7eac66d0456fe12a462e5c14c68e97c7460989da
commit: ff487d41036035376e47972c7c522490b839ab37 MIPS: Truncate link address into 32bit for 32bit kernel
date: 4 months ago
config: mips-randconfig-p001-20200820 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ff487d41036035376e47972c7c522490b839ab37
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mips-linux-ld: drivers/gpu/drm/ingenic/ingenic-drm.o: in function `ingenic_drm_probe':
drivers/gpu/drm/ingenic/ingenic-drm.c:(.text+0xc8c): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/mmc/host/mtk-sd.o: in function `msdc_set_mclk':
>> drivers/mmc/host/mtk-sd.c:(.text+0x1ce4): undefined reference to `clk_get_parent'
>> mips-linux-ld: drivers/mmc/host/mtk-sd.c:(.text+0x1d38): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/iio/adc/ingenic-adc.o: in function `jz4770_adc_init_clk_div':
drivers/iio/adc/ingenic-adc.c:(.text+0x18): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/iio/adc/ingenic-adc.o: in function `jz4725b_adc_init_clk_div':
drivers/iio/adc/ingenic-adc.c:(.text+0x138): undefined reference to `clk_get_parent'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[gfs2:for-next.bob6m 4/11] arch/h8300/include/asm/bitops.h:55:1: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next.bob6m
head: fd5ce905071cc34294900a21a773d9f8c72f5119
commit: 13305ed1a4a46cb3cd7352bd793638133e601f01 [4/11] gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe
config: h8300-randconfig-s032-20200820 (attached as .config)
compiler: h8300-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.2-191-g10164920-dirty
git checkout 13305ed1a4a46cb3cd7352bd793638133e601f01
# 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=h8300
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 >>)
fs/gfs2/meta_io.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/asm-generic/bug.h, ...):
>> arch/h8300/include/asm/bitops.h:55:1: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block
# https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next.bob6m
git checkout 13305ed1a4a46cb3cd7352bd793638133e601f01
vim +/gfs2_remove_from_journal +55 arch/h8300/include/asm/bitops.h
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 53
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 54 H8300_GEN_BITOP(set_bit, "bset")
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 @55 H8300_GEN_BITOP(clear_bit, "bclr")
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 56 H8300_GEN_BITOP(change_bit, "bnot")
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 57 #define __set_bit(nr, addr) set_bit((nr), (addr))
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 58 #define __clear_bit(nr, addr) clear_bit((nr), (addr))
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 59 #define __change_bit(nr, addr) change_bit((nr), (addr))
d2a5f4999f6c211 Yoshinori Sato 2015-05-11 60
:::::: The code at line 55 was first introduced by commit
:::::: d2a5f4999f6c211adf30d9788349e13988d6f2a7 h8300: Assembly headers
:::::: TO: Yoshinori Sato <ysato(a)users.sourceforge.jp>
:::::: CC: Yoshinori Sato <ysato(a)users.sourceforge.jp>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v9 14/24] coresight: allow funnel driver to be built as module
by kernel test robot
Hi Tingwei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on next-20200819]
[cannot apply to stm32/stm32-next soc/for-next linus/master v5.9-rc1 v5.8 v5.8-rc7 v5.9-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/Tingwei-Zhang/coresight-allow-to...
base: 8eb858df0a5f6bcd371b5d5637255c987278b8c9
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwtracing/coresight/coresight-funnel.c:356:20: warning: initialized field overwritten [-Woverride-init]
356 | .probe = static_funnel_remove,
| ^~~~~~~~~~~~~~~~~~~~
drivers/hwtracing/coresight/coresight-funnel.c:356:20: note: (near initialization for 'static_funnel_driver.probe')
# https://github.com/0day-ci/linux/commit/2c4426928ba5d4d9b0a2767700b5ac837...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tingwei-Zhang/coresight-allow-to-build-coresight-as-modules/20200820-135428
git checkout 2c4426928ba5d4d9b0a2767700b5ac837ecbf0c8
vim +356 drivers/hwtracing/coresight/coresight-funnel.c
353
354 static struct platform_driver static_funnel_driver = {
355 .probe = static_funnel_probe,
> 356 .probe = static_funnel_remove,
357 .driver = {
358 .name = "coresight-static-funnel",
359 .of_match_table = static_funnel_match,
360 .acpi_match_table = ACPI_PTR(static_funnel_ids),
361 .pm = &funnel_dev_pm_ops,
362 .suppress_bind_attrs = true,
363 },
364 };
365
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-review:UPDATE-20200817-172119/Allen-Pais/arch-um-convert-tasklets-to-use-new-tasklet_setup-API/20200817-171829 1/1] drivers/firewire/ohci.c:926:27: error: implicit declaration of function 'from_tasklet'
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200817-172119/Allen-Pai...
head: 4172b013661c2d8c50fc252b3c85587bbfea0528
commit: 4172b013661c2d8c50fc252b3c85587bbfea0528 [1/1] firewire: ohci: convert tasklets to use new tasklet_setup() API
config: x86_64-rhel-8.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 4172b013661c2d8c50fc252b3c85587bbfea0528
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/firewire/ohci.c: In function 'ar_context_tasklet':
>> drivers/firewire/ohci.c:926:27: error: implicit declaration of function 'from_tasklet' [-Werror=implicit-function-declaration]
926 | struct ar_context *ctx = from_tasklet(ctx, t, tasklet);
| ^~~~~~~~~~~~
>> drivers/firewire/ohci.c:926:48: error: 'tasklet' undeclared (first use in this function)
926 | struct ar_context *ctx = from_tasklet(ctx, t, tasklet);
| ^~~~~~~
drivers/firewire/ohci.c:926:48: note: each undeclared identifier is reported only once for each function it appears in
drivers/firewire/ohci.c: In function 'ar_context_init':
>> drivers/firewire/ohci.c:980:2: error: implicit declaration of function 'tasklet_setup' [-Werror=implicit-function-declaration]
980 | tasklet_setup(&ctx->tasklet, ar_context_tasklet);
| ^~~~~~~~~~~~~
drivers/firewire/ohci.c: In function 'context_tasklet':
drivers/firewire/ohci.c:1054:45: error: 'tasklet' undeclared (first use in this function)
1054 | struct context *ctx = from_tasklet(ctx, t, tasklet);
| ^~~~~~~
cc1: some warnings being treated as errors
# https://github.com/0day-ci/linux/commit/4172b013661c2d8c50fc252b3c85587bb...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20200817-172119/Allen-Pais/arch-um-convert-tasklets-to-use-new-tasklet_setup-API/20200817-171829
git checkout 4172b013661c2d8c50fc252b3c85587bbfea0528
vim +/from_tasklet +926 drivers/firewire/ohci.c
923
924 static void ar_context_tasklet(struct tasklet_struct *t)
925 {
> 926 struct ar_context *ctx = from_tasklet(ctx, t, tasklet);
927 unsigned int end_buffer_index, end_buffer_offset;
928 void *p, *end;
929
930 p = ctx->pointer;
931 if (!p)
932 return;
933
934 end_buffer_index = ar_search_last_active_buffer(ctx,
935 &end_buffer_offset);
936 ar_sync_buffers_for_cpu(ctx, end_buffer_index, end_buffer_offset);
937 end = ctx->buffer + end_buffer_index * PAGE_SIZE + end_buffer_offset;
938
939 if (end_buffer_index < ar_first_buffer_index(ctx)) {
940 /*
941 * The filled part of the overall buffer wraps around; handle
942 * all packets up to the buffer end here. If the last packet
943 * wraps around, its tail will be visible after the buffer end
944 * because the buffer start pages are mapped there again.
945 */
946 void *buffer_end = ctx->buffer + AR_BUFFERS * PAGE_SIZE;
947 p = handle_ar_packets(ctx, p, buffer_end);
948 if (p < buffer_end)
949 goto error;
950 /* adjust p to point back into the actual buffer */
951 p -= AR_BUFFERS * PAGE_SIZE;
952 }
953
954 p = handle_ar_packets(ctx, p, end);
955 if (p != end) {
956 if (p > end)
957 ar_context_abort(ctx, "inconsistent descriptor");
958 goto error;
959 }
960
961 ctx->pointer = p;
962 ar_recycle_buffers(ctx, end_buffer_index);
963
964 return;
965
966 error:
967 ctx->pointer = NULL;
968 }
969
970 static int ar_context_init(struct ar_context *ctx, struct fw_ohci *ohci,
971 unsigned int descriptors_offset, u32 regs)
972 {
973 unsigned int i;
974 dma_addr_t dma_addr;
975 struct page *pages[AR_BUFFERS + AR_WRAPAROUND_PAGES];
976 struct descriptor *d;
977
978 ctx->regs = regs;
979 ctx->ohci = ohci;
> 980 tasklet_setup(&ctx->tasklet, ar_context_tasklet);
981
982 for (i = 0; i < AR_BUFFERS; i++) {
983 ctx->pages[i] = alloc_page(GFP_KERNEL | GFP_DMA32);
984 if (!ctx->pages[i])
985 goto out_of_memory;
986 dma_addr = dma_map_page(ohci->card.device, ctx->pages[i],
987 0, PAGE_SIZE, DMA_FROM_DEVICE);
988 if (dma_mapping_error(ohci->card.device, dma_addr)) {
989 __free_page(ctx->pages[i]);
990 ctx->pages[i] = NULL;
991 goto out_of_memory;
992 }
993 set_page_private(ctx->pages[i], dma_addr);
994 }
995
996 for (i = 0; i < AR_BUFFERS; i++)
997 pages[i] = ctx->pages[i];
998 for (i = 0; i < AR_WRAPAROUND_PAGES; i++)
999 pages[AR_BUFFERS + i] = ctx->pages[i];
1000 ctx->buffer = vmap(pages, ARRAY_SIZE(pages), VM_MAP, PAGE_KERNEL);
1001 if (!ctx->buffer)
1002 goto out_of_memory;
1003
1004 ctx->descriptors = ohci->misc_buffer + descriptors_offset;
1005 ctx->descriptors_bus = ohci->misc_buffer_bus + descriptors_offset;
1006
1007 for (i = 0; i < AR_BUFFERS; i++) {
1008 d = &ctx->descriptors[i];
1009 d->req_count = cpu_to_le16(PAGE_SIZE);
1010 d->control = cpu_to_le16(DESCRIPTOR_INPUT_MORE |
1011 DESCRIPTOR_STATUS |
1012 DESCRIPTOR_BRANCH_ALWAYS);
1013 d->data_address = cpu_to_le32(ar_buffer_bus(ctx, i));
1014 d->branch_address = cpu_to_le32(ctx->descriptors_bus +
1015 ar_next_buffer_index(i) * sizeof(struct descriptor));
1016 }
1017
1018 return 0;
1019
1020 out_of_memory:
1021 ar_context_release(ctx);
1022
1023 return -ENOMEM;
1024 }
1025
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[intel-linux-intel-lts:5.4/preempt-rt 6707/9039] drivers/misc/gna/gna_drv.c:270:6: error: no previous prototype for function 'gna_dev_release'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/preempt-rt
head: 6fa41e866e0be2824b0f5efb593f8635ee2a3bde
commit: 2d2e3dc79dbf54b9905e4086db001a25047d8c0c [6707/9039] Enable support for GNA drivers based on GNA API specification 2.0
config: x86_64-randconfig-r031-20200820 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4deda57106f7c9b982a49cb907c33e3966c8de7f)
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
git checkout 2d2e3dc79dbf54b9905e4086db001a25047d8c0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/misc/gna/gna_drv.c:270:6: error: no previous prototype for function 'gna_dev_release' [-Werror,-Wmissing-prototypes]
void gna_dev_release(struct device *dev)
^
drivers/misc/gna/gna_drv.c:270:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void gna_dev_release(struct device *dev)
^
static
1 error generated.
--
>> drivers/misc/gna/gna_pci.c:61:2: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
GNA_GEN2_FEATURES
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:37:21: note: expanded from macro 'GNA_GEN2_FEATURES'
.max_layer_count = 4096
^~~~
drivers/misc/gna/gna_pci.c:61:2: note: previous initialization is here
GNA_GEN2_FEATURES
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:36:2: note: expanded from macro 'GNA_GEN2_FEATURES'
GNA_GEN1_FEATURES, \
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:33:21: note: expanded from macro 'GNA_GEN1_FEATURES'
.max_layer_count = 1023
^~~~
drivers/misc/gna/gna_pci.c:66:2: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
GNA_GEN2_FEATURES
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:37:21: note: expanded from macro 'GNA_GEN2_FEATURES'
.max_layer_count = 4096
^~~~
drivers/misc/gna/gna_pci.c:66:2: note: previous initialization is here
GNA_GEN2_FEATURES
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:36:2: note: expanded from macro 'GNA_GEN2_FEATURES'
GNA_GEN1_FEATURES, \
^~~~~~~~~~~~~~~~~
drivers/misc/gna/gna_pci.c:33:21: note: expanded from macro 'GNA_GEN1_FEATURES'
.max_layer_count = 1023
^~~~
2 errors generated.
# https://github.com/intel/linux-intel-lts/commit/2d2e3dc79dbf54b9905e4086d...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.4/preempt-rt
git checkout 2d2e3dc79dbf54b9905e4086db001a25047d8c0c
vim +/gna_dev_release +270 drivers/misc/gna/gna_drv.c
269
> 270 void gna_dev_release(struct device *dev)
271 {
272 struct gna_private *gna_priv;
273
274 dev_dbg(dev, "%s enter\n", __func__);
275
276 gna_priv = dev_get_drvdata(dev);
277
278 __clear_bit(MINOR(dev->devt), gna_drv_priv.dev_map);
279 flush_workqueue(gna_priv->request_wq);
280 destroy_workqueue(gna_priv->request_wq);
281 idr_destroy(&gna_priv->memory_idr);
282 gna_mmu_free(gna_priv);
283 dev_set_drvdata(dev, NULL);
284 pci_set_drvdata(gna_priv->pdev, NULL);
285
286 kfree(gna_priv);
287
288 dev_dbg(dev, "%s exit\n", __func__);
289 }
290
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/media/pci/dm1105/dm1105.c:386:17: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7eac66d0456fe12a462e5c14c68e97c7460989da
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 9 weeks ago
config: riscv-randconfig-s032-20200820 (attached as .config)
compiler: riscv32-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.2-191-g10164920-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=riscv
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/media/pci/dm1105/dm1105.c:386:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/media/pci/dm1105/dm1105.c:386:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/media/pci/dm1105/dm1105.c:386:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:386:17: sparse: got void *
>> drivers/media/pci/dm1105/dm1105.c:386:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/media/pci/dm1105/dm1105.c:386:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/media/pci/dm1105/dm1105.c:386:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:386:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:396:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:406:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:416:24: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:416:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:416:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:416:24: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:427:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:429:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:483:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:483:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:483:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:483:17: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:488:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:488:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:488:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:488:25: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:490:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:490:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:490:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:490:33: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:492:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:492:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:492:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:492:25: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:495:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:495:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:495:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:495:42: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:503:38: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:503:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:503:38: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:503:38: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:514:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:514:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:514:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:514:33: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:515:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:515:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:515:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:515:33: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:518:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:518:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:518:41: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:518:41: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:520:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:520:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:520:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:520:33: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:523:50: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:523:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:523:50: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:523:50: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:536:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:536:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:536:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:536:25: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:539:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:539:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:539:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:539:33: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:541:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:541:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:541:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:541:25: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:544:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:544:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:544:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/media/pci/dm1105/dm1105.c:544:42: sparse: got void *
drivers/media/pci/dm1105/dm1105.c:602:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/media/pci/dm1105/dm1105.c:602:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/media/pci/dm1105/dm1105.c:602:9: sparse: expected void volatile [noderef] __iomem *addr
# 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 670d0a4b10704667765f7d18f7592993d02783aa
vim +/__iomem +386 drivers/media/pci/dm1105/dm1105.c
5eb3291fe84b30a drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2010-01-17 375
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 376 /* The chip has 18 GPIOs. In HOST mode GPIO's used as 15 bit address lines,
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 377 so we can use only 3 GPIO's from GPIO15 to GPIO17.
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 378 Here I don't check whether HOST is enebled as it is not implemented yet.
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 379 */
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 380 static void dm1105_gpio_set(struct dm1105_dev *dev, u32 mask)
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 381 {
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 382 if (mask & 0xfffc0000)
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 383 printk(KERN_ERR "%s: Only 18 GPIO's are allowed\n", __func__);
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 384
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 385 if (mask & 0x0003ffff)
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 @386 dm_setl(DM1105_GPIOVAL, mask & 0x0003ffff);
0017505de0d2888 drivers/media/dvb/dm1105/dm1105.c Igor M. Liplianin 2011-05-05 387
:::::: The code at line 386 was first introduced by commit
:::::: 0017505de0d2888f57a9f84e8eb3963b3cd28baf [media] dm1105: GPIO handling added, I2C on GPIO added, LNB control through GPIO reworked
:::::: TO: Igor M. Liplianin <liplianin(a)me.by>
:::::: CC: Mauro Carvalho Chehab <mchehab(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month