drivers/net/ethernet/smsc/smc91x.c:634:23: warning: variable 'flags' set but not used
by kernel test robot
Hi Andrew,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: 7958ba7e6273a02f49432a2506958d0f59b5b8da drivers: net: smsc: Add COMPILE_TEST support
date: 12 months ago
config: microblaze-randconfig-r012-20210927 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7958ba7e6273a02f49432a2506958d0f59b5b8da
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=microblaze
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/smsc/smc91x.c: In function 'smc_hard_start_xmit':
>> drivers/net/ethernet/smsc/smc91x.c:634:23: warning: variable 'flags' set but not used [-Wunused-but-set-variable]
634 | unsigned long flags;
| ^~~~~
vim +/flags +634 drivers/net/ethernet/smsc/smc91x.c
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 621
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 622 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 623 * Since I am not sure if I will have enough room in the chip's ram
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 624 * to store the packet, I call this routine which either sends it
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 625 * now, or set the card to generates an interrupt when ready
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 626 * for the packet.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 627 */
6323d57f335ce1 drivers/net/ethernet/smsc/smc91x.c YueHaibing 2018-09-26 628 static netdev_tx_t
6323d57f335ce1 drivers/net/ethernet/smsc/smc91x.c YueHaibing 2018-09-26 629 smc_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 630 {
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 631 struct smc_local *lp = netdev_priv(dev);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 632 void __iomem *ioaddr = lp->base;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 633 unsigned int numPages, poll_count, status;
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 @634 unsigned long flags;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 635
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 636 DBG(3, dev, "%s\n", __func__);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 637
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 638 BUG_ON(lp->pending_tx_skb != NULL);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 639
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 640 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 641 * The MMU wants the number of pages to be the number of 256 bytes
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 642 * 'pages', minus 1 (since a packet can't ever have 0 pages :))
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 643 *
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 644 * The 91C111 ignores the size bits, but earlier models don't.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 645 *
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 646 * Pkt size for allocating is data length +6 (for additional status
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 647 * words, length and ctl)
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 648 *
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 649 * If odd size then last byte is included in ctl word.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 650 */
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 651 numPages = ((skb->len & ~1) + (6 - 1)) >> 8;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 652 if (unlikely(numPages > 7)) {
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 653 netdev_warn(dev, "Far too big packet error.\n");
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 654 dev->stats.tx_errors++;
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 655 dev->stats.tx_dropped++;
4b61fe2621e40f drivers/net/ethernet/smsc/smc91x.c Eric W. Biederman 2014-03-15 656 dev_kfree_skb_any(skb);
6ed106549d1747 drivers/net/smc91x.c Patrick McHardy 2009-06-23 657 return NETDEV_TX_OK;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 658 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 659
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 660 smc_special_lock(&lp->lock, flags);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 661
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 662 /* now, try to allocate the memory */
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 663 SMC_SET_MMU_CMD(lp, MC_ALLOC | numPages);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 664
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 665 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 666 * Poll the chip for a short amount of time in case the
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 667 * allocation succeeds quickly.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 668 */
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 669 poll_count = MEMORY_WAIT_TIME;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 670 do {
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 671 status = SMC_GET_INT(lp);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 672 if (status & IM_ALLOC_INT) {
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 673 SMC_ACK_INT(lp, IM_ALLOC_INT);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 674 break;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 675 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 676 } while (--poll_count);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 677
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 678 smc_special_unlock(&lp->lock, flags);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 679
be83668a253149 drivers/net/smc91x.c Nicolas Pitre 2005-06-19 680 lp->pending_tx_skb = skb;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 681 if (!poll_count) {
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 682 /* oh well, wait until the chip finds memory later */
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 683 netif_stop_queue(dev);
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 684 DBG(2, dev, "TX memory allocation deferred.\n");
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 685 SMC_ENABLE_INT(lp, IM_ALLOC_INT);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 686 } else {
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 687 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 688 * Allocation succeeded: push packet to the chip's own memory
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 689 * immediately.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 690 */
7961fb1089f826 drivers/net/ethernet/smsc/smc91x.c Allen Pais 2020-09-14 691 smc_hardware_send_pkt(&lp->tx_task);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 692 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 693
6ed106549d1747 drivers/net/smc91x.c Patrick McHardy 2009-06-23 694 return NETDEV_TX_OK;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 695 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 696
:::::: The code at line 634 was first introduced by commit
:::::: 8ff499e43c537648399fca8ba39d24c0768b3fab smc91x: let smc91x work well under netpoll
:::::: TO: Dongdong Deng <dongdong.deng(a)windriver.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[hch-misc:dax-block-cleanup 18/29] fs/ext2/inode.c:1300:25: error: implicit declaration of function 'dax_zero_range'; did you mean 'iomap_zero_range'?
by kernel test robot
tree: git://git.infradead.org/users/hch/misc.git dax-block-cleanup
head: 66bc790a8f4d3b62adb7b002b63d48a49f20f7c4
commit: dd820fb94529c2cf0a1077aed2d828e9cdf51aa0 [18/29] fsdax: decouple zeroing from the iomap buffered I/O code
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dax-block-cleanup
git checkout dd820fb94529c2cf0a1077aed2d828e9cdf51aa0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
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/ext2/inode.c: In function 'ext2_setsize':
>> fs/ext2/inode.c:1300:25: error: implicit declaration of function 'dax_zero_range'; did you mean 'iomap_zero_range'? [-Werror=implicit-function-declaration]
1300 | error = dax_zero_range(inode, newsize,
| ^~~~~~~~~~~~~~
| iomap_zero_range
cc1: some warnings being treated as errors
--
fs/xfs/xfs_iomap.c: In function 'xfs_zero_range':
>> fs/xfs/xfs_iomap.c:1325:24: error: implicit declaration of function 'dax_zero_range'; did you mean 'xfs_zero_range'? [-Werror=implicit-function-declaration]
1325 | return dax_zero_range(inode, pos, len, did_zero,
| ^~~~~~~~~~~~~~
| xfs_zero_range
fs/xfs/xfs_iomap.c: In function 'xfs_truncate_page':
>> fs/xfs/xfs_iomap.c:1340:24: error: implicit declaration of function 'dax_truncate_page'; did you mean 'xfs_truncate_page'? [-Werror=implicit-function-declaration]
1340 | return dax_truncate_page(inode, pos, did_zero,
| ^~~~~~~~~~~~~~~~~
| xfs_truncate_page
cc1: some warnings being treated as errors
vim +1300 fs/ext2/inode.c
1284
1285 static int ext2_setsize(struct inode *inode, loff_t newsize)
1286 {
1287 int error;
1288
1289 if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
1290 S_ISLNK(inode->i_mode)))
1291 return -EINVAL;
1292 if (ext2_inode_is_fast_symlink(inode))
1293 return -EINVAL;
1294 if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
1295 return -EPERM;
1296
1297 inode_dio_wait(inode);
1298
1299 if (IS_DAX(inode)) {
> 1300 error = dax_zero_range(inode, newsize,
1301 PAGE_ALIGN(newsize) - newsize, NULL,
1302 &ext2_iomap_ops);
1303 } else if (test_opt(inode->i_sb, NOBH))
1304 error = nobh_truncate_page(inode->i_mapping,
1305 newsize, ext2_get_block);
1306 else
1307 error = block_truncate_page(inode->i_mapping,
1308 newsize, ext2_get_block);
1309 if (error)
1310 return error;
1311
1312 filemap_invalidate_lock(inode->i_mapping);
1313 truncate_setsize(inode, newsize);
1314 __ext2_truncate_blocks(inode, newsize);
1315 filemap_invalidate_unlock(inode->i_mapping);
1316
1317 inode->i_mtime = inode->i_ctime = current_time(inode);
1318 if (inode_needs_sync(inode)) {
1319 sync_mapping_buffers(inode->i_mapping);
1320 sync_inode_metadata(inode, 1);
1321 } else {
1322 mark_inode_dirty(inode);
1323 }
1324
1325 return 0;
1326 }
1327
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/gpu/drm/v3d/v3d_gem.c:778:53: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: e4165ae8304e5ea822fbe5909dd3be5445c058b7 drm/v3d: add multiple syncobjs support
date: 5 weeks ago
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 11.2.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.4-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 e4165ae8304e5ea822fbe5909dd3be5445c058b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=riscv SHELL=/bin/bash drivers/gpu/drm/v3d/
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/v3d/v3d_gem.c:778:53: sparse: sparse: Using plain integer as NULL pointer
drivers/gpu/drm/v3d/v3d_gem.c:1011:45: sparse: sparse: Using plain integer as NULL pointer
vim +778 drivers/gpu/drm/v3d/v3d_gem.c
705
706 /**
707 * v3d_submit_cl_ioctl() - Submits a job (frame) to the V3D.
708 * @dev: DRM device
709 * @data: ioctl argument
710 * @file_priv: DRM file for this fd
711 *
712 * This is the main entrypoint for userspace to submit a 3D frame to
713 * the GPU. Userspace provides the binner command list (if
714 * applicable), and the kernel sets up the render command list to draw
715 * to the framebuffer described in the ioctl, using the command lists
716 * that the 3D engine's binner will produce.
717 */
718 int
719 v3d_submit_cl_ioctl(struct drm_device *dev, void *data,
720 struct drm_file *file_priv)
721 {
722 struct v3d_dev *v3d = to_v3d_dev(dev);
723 struct v3d_file_priv *v3d_priv = file_priv->driver_priv;
724 struct drm_v3d_submit_cl *args = data;
725 struct v3d_submit_ext se = {0};
726 struct v3d_bin_job *bin = NULL;
727 struct v3d_render_job *render = NULL;
728 struct v3d_job *clean_job = NULL;
729 struct v3d_job *last_job;
730 struct ww_acquire_ctx acquire_ctx;
731 int ret = 0;
732
733 trace_v3d_submit_cl_ioctl(&v3d->drm, args->rcl_start, args->rcl_end);
734
735 if (args->pad)
736 return -EINVAL;
737
738 if (args->flags &&
739 args->flags & ~(DRM_V3D_SUBMIT_CL_FLUSH_CACHE |
740 DRM_V3D_SUBMIT_EXTENSION)) {
741 DRM_INFO("invalid flags: %d\n", args->flags);
742 return -EINVAL;
743 }
744
745 if (args->flags & DRM_V3D_SUBMIT_EXTENSION) {
746 ret = v3d_get_extensions(file_priv, args->extensions, &se);
747 if (ret) {
748 DRM_DEBUG("Failed to get extensions.\n");
749 return ret;
750 }
751 }
752
753 ret = v3d_job_init(v3d, file_priv, (void *)&render, sizeof(*render),
754 v3d_render_job_free, args->in_sync_rcl, &se, V3D_RENDER);
755 if (ret)
756 goto fail;
757
758 render->start = args->rcl_start;
759 render->end = args->rcl_end;
760 INIT_LIST_HEAD(&render->unref_list);
761
762 if (args->bcl_start != args->bcl_end) {
763 ret = v3d_job_init(v3d, file_priv, (void *)&bin, sizeof(*bin),
764 v3d_job_free, args->in_sync_bcl, &se, V3D_BIN);
765 if (ret)
766 goto fail;
767
768 bin->start = args->bcl_start;
769 bin->end = args->bcl_end;
770 bin->qma = args->qma;
771 bin->qms = args->qms;
772 bin->qts = args->qts;
773 bin->render = render;
774 }
775
776 if (args->flags & DRM_V3D_SUBMIT_CL_FLUSH_CACHE) {
777 ret = v3d_job_init(v3d, file_priv, (void *)&clean_job, sizeof(*clean_job),
> 778 v3d_job_free, 0, 0, V3D_CACHE_CLEAN);
779 if (ret)
780 goto fail;
781
782 last_job = clean_job;
783 } else {
784 last_job = &render->base;
785 }
786
787 ret = v3d_lookup_bos(dev, file_priv, last_job,
788 args->bo_handles, args->bo_handle_count);
789 if (ret)
790 goto fail;
791
792 ret = v3d_lock_bo_reservations(last_job, &acquire_ctx);
793 if (ret)
794 goto fail;
795
796 if (args->perfmon_id) {
797 render->base.perfmon = v3d_perfmon_find(v3d_priv,
798 args->perfmon_id);
799
800 if (!render->base.perfmon) {
801 ret = -ENOENT;
802 goto fail;
803 }
804 }
805
806 mutex_lock(&v3d->sched_lock);
807 if (bin) {
808 bin->base.perfmon = render->base.perfmon;
809 v3d_perfmon_get(bin->base.perfmon);
810 v3d_push_job(&bin->base);
811
812 ret = drm_sched_job_add_dependency(&render->base.base,
813 dma_fence_get(bin->base.done_fence));
814 if (ret)
815 goto fail_unreserve;
816 }
817
818 v3d_push_job(&render->base);
819
820 if (clean_job) {
821 struct dma_fence *render_fence =
822 dma_fence_get(render->base.done_fence);
823 ret = drm_sched_job_add_dependency(&clean_job->base,
824 render_fence);
825 if (ret)
826 goto fail_unreserve;
827 clean_job->perfmon = render->base.perfmon;
828 v3d_perfmon_get(clean_job->perfmon);
829 v3d_push_job(clean_job);
830 }
831
832 mutex_unlock(&v3d->sched_lock);
833
834 v3d_attach_fences_and_unlock_reservation(file_priv,
835 last_job,
836 &acquire_ctx,
837 args->out_sync,
838 &se,
839 last_job->done_fence);
840
841 if (bin)
842 v3d_job_put(&bin->base);
843 v3d_job_put(&render->base);
844 if (clean_job)
845 v3d_job_put(clean_job);
846
847 return 0;
848
849 fail_unreserve:
850 mutex_unlock(&v3d->sched_lock);
851 drm_gem_unlock_reservations(last_job->bo,
852 last_job->bo_count, &acquire_ctx);
853 fail:
854 v3d_job_cleanup((void *)bin);
855 v3d_job_cleanup((void *)render);
856 v3d_job_cleanup(clean_job);
857 v3d_put_multisync_post_deps(&se);
858
859 return ret;
860 }
861
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[krzk-github:n/power-max17042-maint 2549/3946] drivers/hwmon/nct6775.c:150:13: error: unused variable 'ioreg'
by kernel test robot
tree: https://github.com/krzk/linux n/power-max17042-maint
head: 6571f83efc55435b05ab8080fd5d22ba46185a08
commit: 52a017530b60bb3f6202dd1ffac5e1098c70c876 [2549/3946] hwmon: (nct6775) Use superio_*() function pointers in sio_data.
config: parisc-buildonly-randconfig-r006-20210928 (attached as .config)
compiler: hppa-linux-gcc (GCC) 11.2.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/krzk/linux/commit/52a017530b60bb3f6202dd1ffac5e1098c70...
git remote add krzk-github https://github.com/krzk/linux
git fetch --no-tags krzk-github n/power-max17042-maint
git checkout 52a017530b60bb3f6202dd1ffac5e1098c70c876
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=parisc
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/hwmon/nct6775.c: In function 'superio_outb':
>> drivers/hwmon/nct6775.c:150:13: error: unused variable 'ioreg' [-Werror=unused-variable]
150 | int ioreg = sio_data->sioreg;
| ^~~~~
drivers/hwmon/nct6775.c: In function 'superio_select':
drivers/hwmon/nct6775.c:166:13: error: unused variable 'ioreg' [-Werror=unused-variable]
166 | int ioreg = sio_data->sioreg;
| ^~~~~
cc1: all warnings being treated as errors
vim +/ioreg +150 drivers/hwmon/nct6775.c
147
148 static void superio_outb(struct nct6775_sio_data *sio_data, int reg, int val)
149 {
> 150 int ioreg = sio_data->sioreg;
151
152 outb(reg, ioreg);
153 outb(val, ioreg + 1);
154 }
155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[krzk-github:n/power-max17042-maint 3863/3946] drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:858:6: error: no previous prototype for 'amdgpu_ras_mca_query_error_status'
by kernel test robot
tree: https://github.com/krzk/linux n/power-max17042-maint
head: 6571f83efc55435b05ab8080fd5d22ba46185a08
commit: d8c961d42a98c0857693c2df100f4973bd325a52 [3863/3946] Merge branch 'drm-next' of https://gitlab.freedesktop.org/agd5f/linux
config: s390-buildonly-randconfig-r004-20210928 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.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/krzk/linux/commit/d8c961d42a98c0857693c2df100f4973bd32...
git remote add krzk-github https://github.com/krzk/linux
git fetch --no-tags krzk-github n/power-max17042-maint
git checkout d8c961d42a98c0857693c2df100f4973bd325a52
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:858:6: error: no previous prototype for 'amdgpu_ras_mca_query_error_status' [-Werror=missing-prototypes]
858 | void amdgpu_ras_mca_query_error_status(struct amdgpu_device *adev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/amdgpu_ras_mca_query_error_status +858 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
c030f2e4166c3f5 xinhui pan 2018-10-31 856
640ae42efb828be John Clements 2021-09-22 857
640ae42efb828be John Clements 2021-09-22 @858 void amdgpu_ras_mca_query_error_status(struct amdgpu_device *adev,
640ae42efb828be John Clements 2021-09-22 859 struct ras_common_if *ras_block,
640ae42efb828be John Clements 2021-09-22 860 struct ras_err_data *err_data)
640ae42efb828be John Clements 2021-09-22 861 {
640ae42efb828be John Clements 2021-09-22 862 switch (ras_block->sub_block_index) {
640ae42efb828be John Clements 2021-09-22 863 case AMDGPU_RAS_MCA_BLOCK__MP0:
640ae42efb828be John Clements 2021-09-22 864 if (adev->mca.mp0.ras_funcs &&
640ae42efb828be John Clements 2021-09-22 865 adev->mca.mp0.ras_funcs->query_ras_error_count)
640ae42efb828be John Clements 2021-09-22 866 adev->mca.mp0.ras_funcs->query_ras_error_count(adev, &err_data);
640ae42efb828be John Clements 2021-09-22 867 break;
640ae42efb828be John Clements 2021-09-22 868 case AMDGPU_RAS_MCA_BLOCK__MP1:
640ae42efb828be John Clements 2021-09-22 869 if (adev->mca.mp1.ras_funcs &&
640ae42efb828be John Clements 2021-09-22 870 adev->mca.mp1.ras_funcs->query_ras_error_count)
640ae42efb828be John Clements 2021-09-22 871 adev->mca.mp1.ras_funcs->query_ras_error_count(adev, &err_data);
640ae42efb828be John Clements 2021-09-22 872 break;
640ae42efb828be John Clements 2021-09-22 873 case AMDGPU_RAS_MCA_BLOCK__MPIO:
640ae42efb828be John Clements 2021-09-22 874 if (adev->mca.mpio.ras_funcs &&
640ae42efb828be John Clements 2021-09-22 875 adev->mca.mpio.ras_funcs->query_ras_error_count)
640ae42efb828be John Clements 2021-09-22 876 adev->mca.mpio.ras_funcs->query_ras_error_count(adev, &err_data);
640ae42efb828be John Clements 2021-09-22 877 break;
640ae42efb828be John Clements 2021-09-22 878 default:
640ae42efb828be John Clements 2021-09-22 879 break;
640ae42efb828be John Clements 2021-09-22 880 }
640ae42efb828be John Clements 2021-09-22 881 }
640ae42efb828be John Clements 2021-09-22 882
:::::: The code at line 858 was first introduced by commit
:::::: 640ae42efb828be69a9ee6ac88fb3d5a3e678ddf drm/amdgpu: Updated RAS infrastructure
:::::: TO: John Clements <john.clements(a)amd.com>
:::::: CC: Alex Deucher <alexander.deucher(a)amd.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
fs/xfs/xfs_iwalk.c:355:42: warning: variable 'irec' set but not used
by kernel test robot
Hi Darrick,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: 27c14b5daa82861220d6fa6e27b51f05f21ffaa7 xfs: ensure inobt record walks always make forward progress
date: 12 months ago
config: h8300-randconfig-r014-20210927 (attached as .config)
compiler: h8300-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 27c14b5daa82861220d6fa6e27b51f05f21ffaa7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
fs/xfs/xfs_iwalk.c: In function 'xfs_iwalk_run_callbacks':
>> fs/xfs/xfs_iwalk.c:355:42: warning: variable 'irec' set but not used [-Wunused-but-set-variable]
355 | struct xfs_inobt_rec_incore *irec;
| ^~~~
vim +/irec +355 fs/xfs/xfs_iwalk.c
a211432c27ffa3 Darrick J. Wong 2019-07-02 336
a211432c27ffa3 Darrick J. Wong 2019-07-02 337 /*
a211432c27ffa3 Darrick J. Wong 2019-07-02 338 * The inobt record cache is full, so preserve the inobt cursor state and
a211432c27ffa3 Darrick J. Wong 2019-07-02 339 * run callbacks on the cached inobt records. When we're done, restore the
a211432c27ffa3 Darrick J. Wong 2019-07-02 340 * cursor state to wherever the cursor would have been had the cache not been
a211432c27ffa3 Darrick J. Wong 2019-07-02 341 * full (and therefore we could've just incremented the cursor) if *@has_more
a211432c27ffa3 Darrick J. Wong 2019-07-02 342 * is true. On exit, *@has_more will indicate whether or not the caller should
a211432c27ffa3 Darrick J. Wong 2019-07-02 343 * try for more inode records.
a211432c27ffa3 Darrick J. Wong 2019-07-02 344 */
a211432c27ffa3 Darrick J. Wong 2019-07-02 345 STATIC int
a211432c27ffa3 Darrick J. Wong 2019-07-02 346 xfs_iwalk_run_callbacks(
a211432c27ffa3 Darrick J. Wong 2019-07-02 347 struct xfs_iwalk_ag *iwag,
a211432c27ffa3 Darrick J. Wong 2019-07-02 348 xfs_agnumber_t agno,
a211432c27ffa3 Darrick J. Wong 2019-07-02 349 struct xfs_btree_cur **curpp,
a211432c27ffa3 Darrick J. Wong 2019-07-02 350 struct xfs_buf **agi_bpp,
a211432c27ffa3 Darrick J. Wong 2019-07-02 351 int *has_more)
a211432c27ffa3 Darrick J. Wong 2019-07-02 352 {
a211432c27ffa3 Darrick J. Wong 2019-07-02 353 struct xfs_mount *mp = iwag->mp;
a211432c27ffa3 Darrick J. Wong 2019-07-02 354 struct xfs_trans *tp = iwag->tp;
a211432c27ffa3 Darrick J. Wong 2019-07-02 @355 struct xfs_inobt_rec_incore *irec;
27c14b5daa8286 Darrick J. Wong 2020-11-14 356 xfs_agino_t next_agino;
a211432c27ffa3 Darrick J. Wong 2019-07-02 357 int error;
a211432c27ffa3 Darrick J. Wong 2019-07-02 358
27c14b5daa8286 Darrick J. Wong 2020-11-14 359 next_agino = XFS_INO_TO_AGINO(mp, iwag->lastino) + 1;
27c14b5daa8286 Darrick J. Wong 2020-11-14 360
a211432c27ffa3 Darrick J. Wong 2019-07-02 361 ASSERT(iwag->nr_recs > 0);
a211432c27ffa3 Darrick J. Wong 2019-07-02 362
a211432c27ffa3 Darrick J. Wong 2019-07-02 363 /* Delete cursor but remember the last record we cached... */
a211432c27ffa3 Darrick J. Wong 2019-07-02 364 xfs_iwalk_del_inobt(tp, curpp, agi_bpp, 0);
a211432c27ffa3 Darrick J. Wong 2019-07-02 365 irec = &iwag->recs[iwag->nr_recs - 1];
27c14b5daa8286 Darrick J. Wong 2020-11-14 366 ASSERT(next_agino == irec->ir_startino + XFS_INODES_PER_CHUNK);
a211432c27ffa3 Darrick J. Wong 2019-07-02 367
a211432c27ffa3 Darrick J. Wong 2019-07-02 368 error = xfs_iwalk_ag_recs(iwag);
a211432c27ffa3 Darrick J. Wong 2019-07-02 369 if (error)
a211432c27ffa3 Darrick J. Wong 2019-07-02 370 return error;
a211432c27ffa3 Darrick J. Wong 2019-07-02 371
a211432c27ffa3 Darrick J. Wong 2019-07-02 372 /* ...empty the cache... */
a211432c27ffa3 Darrick J. Wong 2019-07-02 373 iwag->nr_recs = 0;
a211432c27ffa3 Darrick J. Wong 2019-07-02 374
a211432c27ffa3 Darrick J. Wong 2019-07-02 375 if (!has_more)
a211432c27ffa3 Darrick J. Wong 2019-07-02 376 return 0;
a211432c27ffa3 Darrick J. Wong 2019-07-02 377
a211432c27ffa3 Darrick J. Wong 2019-07-02 378 /* ...and recreate the cursor just past where we left off. */
a211432c27ffa3 Darrick J. Wong 2019-07-02 379 error = xfs_inobt_cur(mp, tp, agno, XFS_BTNUM_INO, curpp, agi_bpp);
a211432c27ffa3 Darrick J. Wong 2019-07-02 380 if (error)
a211432c27ffa3 Darrick J. Wong 2019-07-02 381 return error;
a211432c27ffa3 Darrick J. Wong 2019-07-02 382
27c14b5daa8286 Darrick J. Wong 2020-11-14 383 return xfs_inobt_lookup(*curpp, next_agino, XFS_LOOKUP_GE, has_more);
a211432c27ffa3 Darrick J. Wong 2019-07-02 384 }
a211432c27ffa3 Darrick J. Wong 2019-07-02 385
:::::: The code at line 355 was first introduced by commit
:::::: a211432c27ffa32d9978f6c18f5af0c3f8ad2ad1 xfs: create simplified inode walk function
:::::: TO: Darrick J. Wong <darrick.wong(a)oracle.com>
:::::: CC: Darrick J. Wong <darrick.wong(a)oracle.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[hch-misc:dax-block-cleanup 18/29] fs/ext4/inode.c:3786:10: error: implicit declaration of function 'dax_zero_range'; did you mean 'iomap_zero_range'?
by kernel test robot
tree: git://git.infradead.org/users/hch/misc.git dax-block-cleanup
head: 66bc790a8f4d3b62adb7b002b63d48a49f20f7c4
commit: dd820fb94529c2cf0a1077aed2d828e9cdf51aa0 [18/29] fsdax: decouple zeroing from the iomap buffered I/O code
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dax-block-cleanup
git checkout dd820fb94529c2cf0a1077aed2d828e9cdf51aa0
# save the attached .config to linux build tree
make W=1 ARCH=um SUBARCH=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/ext4/inode.c: In function 'ext4_block_zero_page_range':
>> fs/ext4/inode.c:3786:10: error: implicit declaration of function 'dax_zero_range'; did you mean 'iomap_zero_range'? [-Werror=implicit-function-declaration]
3786 | return dax_zero_range(inode, from, length, NULL,
| ^~~~~~~~~~~~~~
| iomap_zero_range
cc1: some warnings being treated as errors
vim +3786 fs/ext4/inode.c
3762
3763 /*
3764 * ext4_block_zero_page_range() zeros out a mapping of length 'length'
3765 * starting from file offset 'from'. The range to be zero'd must
3766 * be contained with in one block. If the specified range exceeds
3767 * the end of the block it will be shortened to end of the block
3768 * that corresponds to 'from'
3769 */
3770 static int ext4_block_zero_page_range(handle_t *handle,
3771 struct address_space *mapping, loff_t from, loff_t length)
3772 {
3773 struct inode *inode = mapping->host;
3774 unsigned offset = from & (PAGE_SIZE-1);
3775 unsigned blocksize = inode->i_sb->s_blocksize;
3776 unsigned max = blocksize - (offset & (blocksize - 1));
3777
3778 /*
3779 * correct length if it does not fall between
3780 * 'from' and the end of the block
3781 */
3782 if (length > max || length < 0)
3783 length = max;
3784
3785 if (IS_DAX(inode)) {
> 3786 return dax_zero_range(inode, from, length, NULL,
3787 &ext4_iomap_ops);
3788 }
3789 return __ext4_block_zero_page_range(handle, mapping, from, length);
3790 }
3791
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[frederic-dynticks:isolation/split 9/13] kernel/rcu/rcutorture.c:1718:49: sparse: sparse: incorrect type in argument 1 (different modifiers)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git isolation/split
head: c4988a7256e9e02fb2503a7a0e748ab7b50667b6
commit: 8ea31dca120d4d746a70867c26ca97bb9f4b0471 [9/13] rcu/nocb: Pass a cpumask instead of a single CPU to offload/deoffload
config: i386-randconfig-s001-20211027 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.g...
git remote add frederic-dynticks https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
git fetch --no-tags frederic-dynticks isolation/split
git checkout 8ea31dca120d4d746a70867c26ca97bb9f4b0471
# 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 >>)
kernel/rcu/rcutorture.c:563:1: sparse: sparse: symbol '__srcu_struct_srcu_ctl' was not declared. Should it be static?
>> kernel/rcu/rcutorture.c:1718:49: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct cpumask *cpumask @@ got struct cpumask const * @@
kernel/rcu/rcutorture.c:1718:49: sparse: expected struct cpumask *cpumask
kernel/rcu/rcutorture.c:1718:49: sparse: got struct cpumask const *
kernel/rcu/rcutorture.c:1721:49: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct cpumask *cpumask @@ got struct cpumask const * @@
kernel/rcu/rcutorture.c:1721:49: sparse: expected struct cpumask *cpumask
kernel/rcu/rcutorture.c:1721:49: sparse: got struct cpumask const *
kernel/rcu/rcutorture.c:785:12: sparse: sparse: context imbalance in 'rcu_torture_read_lock_trivial' - wrong count at exit
kernel/rcu/rcutorture.c:793:9: sparse: sparse: context imbalance in 'rcu_torture_read_unlock_trivial' - wrong count at exit
kernel/rcu/rcutorture.c:1468:9: sparse: sparse: context imbalance in 'rcutorture_one_extend' - different lock contexts for basic block
vim +1718 kernel/rcu/rcutorture.c
1686
1687 /*
1688 * Randomly Toggle CPUs' callback-offload state. This uses hrtimers to
1689 * increase race probabilities and fuzzes the interval between toggling.
1690 */
1691 static int rcu_nocb_toggle(void *arg)
1692 {
1693 int cpu;
1694 int maxcpu = -1;
1695 int oldnice = task_nice(current);
1696 long r;
1697 DEFINE_TORTURE_RANDOM(rand);
1698 ktime_t toggle_delay;
1699 unsigned long toggle_fuzz;
1700 ktime_t toggle_interval = ms_to_ktime(nocbs_toggle);
1701
1702 VERBOSE_TOROUT_STRING("rcu_nocb_toggle task started");
1703 while (!rcu_inkernel_boot_has_ended())
1704 schedule_timeout_interruptible(HZ / 10);
1705 for_each_online_cpu(cpu)
1706 maxcpu = cpu;
1707 WARN_ON(maxcpu < 0);
1708 if (toggle_interval > ULONG_MAX)
1709 toggle_fuzz = ULONG_MAX >> 3;
1710 else
1711 toggle_fuzz = toggle_interval >> 3;
1712 if (toggle_fuzz <= 0)
1713 toggle_fuzz = NSEC_PER_USEC;
1714 do {
1715 r = torture_random(&rand);
1716 cpu = (r >> 4) % (maxcpu + 1);
1717 if (r & 0x1) {
> 1718 rcu_nocb_cpumask_update(cpumask_of(cpu), true);
1719 atomic_long_inc(&n_nocb_offload);
1720 } else {
1721 rcu_nocb_cpumask_update(cpumask_of(cpu), false);
1722 atomic_long_inc(&n_nocb_deoffload);
1723 }
1724 toggle_delay = torture_random(&rand) % toggle_fuzz + toggle_interval;
1725 set_current_state(TASK_INTERRUPTIBLE);
1726 schedule_hrtimeout(&toggle_delay, HRTIMER_MODE_REL);
1727 if (stutter_wait("rcu_nocb_toggle"))
1728 sched_set_normal(current, oldnice);
1729 } while (!torture_must_stop());
1730 torture_kthread_stopping("rcu_nocb_toggle");
1731 return 0;
1732 }
1733
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
Re: [PATCH net v1] bpf: Fix build when CONFIG_BPF_SYSCALL is disabled
by kernel test robot
Hi Vinicius,
I love your patch! Yet something to improve:
[auto build test ERROR on net/master]
url: https://github.com/0day-ci/linux/commits/Vinicius-Costa-Gomes/bpf-Fix-bui...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git fceb07950a7aac43d52d8c6ef580399a8b9b68fe
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/1e7a382c089da5714e4a9411765e84815...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vinicius-Costa-Gomes/bpf-Fix-build-when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148
git checkout 1e7a382c089da5714e4a9411765e84815cf550f9
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/bpf/btf.c: In function 'btf_seq_show':
kernel/bpf/btf.c:5876:22: warning: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5876 | seq_vprintf((struct seq_file *)show->target, fmt, args);
| ^~~~~~~~
kernel/bpf/btf.c: In function 'btf_snprintf_show':
kernel/bpf/btf.c:5913:2: warning: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5913 | len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
| ^~~
kernel/bpf/btf.c: At top level:
>> kernel/bpf/btf.c:6370:9: error: variable 'bpf_tcp_ca_kfunc_list' has initializer but incomplete type
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: warning: excess elements in struct initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/mutex.h:109:3: error: extra brace group at end of initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/btf.h:6,
from kernel/bpf/btf.c:4:
>> include/linux/types.h:170:24: error: extra brace group at end of initializer
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/types.h:170:24: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/mutex.h:109:3: warning: excess elements in struct initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6370:9: error: variable 'prog_test_kfunc_list' has initializer but incomplete type
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: warning: excess elements in struct initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/mutex.h:109:3: error: extra brace group at end of initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/btf.h:6,
from kernel/bpf/btf.c:4:
>> include/linux/types.h:170:24: error: extra brace group at end of initializer
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/types.h:170:24: note: (near initialization for 'prog_test_kfunc_list')
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/mutex.h:109:3: warning: excess elements in struct initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from arch/x86/include/asm/percpu.h:27,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/bpf_tcp_ca_kfunc_list +6370 kernel/bpf/btf.c
14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6368
14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6369 #define DEFINE_KFUNC_BTF_ID_LIST(name) \
14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6370 struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6371 __MUTEX_INITIALIZER(name.mutex) }; \
14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6372 EXPORT_SYMBOL_GPL(name)
0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 6373
0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 @6374 DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
c48e51c8b07aba Kumar Kartikeya Dwivedi 2021-10-02 @6375 DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks