lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Fri, 2 Feb 2018 16:10:55 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     Devesh Sharma <devesh.sharma@...adcom.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        Doug Ledford <dledford@...hat.com>
Subject: drivers/infiniband/hw/bnxt_re/qplib_fp.c:335:4: note: in expansion
 of macro 'if'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4bf772b14675411a69b3c807f73006de0fe4b649
commit: 37cb11acf1f72a007a85894a6dd2ec93932bde46 RDMA/bnxt_re: Add SRQ support for Broadcom adapters
date:   2 weeks ago
config: i386-randconfig-sb0-02021411 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        git checkout 37cb11acf1f72a007a85894a6dd2ec93932bde46
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_service_nq':
   drivers/infiniband/hw/bnxt_re/qplib_fp.c:333:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       bnxt_qplib_arm_srq((struct bnxt_qplib_srq *)q_handle,
                          ^
   In file included from include/linux/kernel.h:10:0,
                    from include/linux/interrupt.h:6,
                    from drivers/infiniband/hw/bnxt_re/qplib_fp.c:39:
   drivers/infiniband/hw/bnxt_re/qplib_fp.c:336:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
               (struct bnxt_qplib_srq *)q_handle,
               ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:335:4: note: in expansion of macro 'if'
       if (!nq->srqn_handler(nq,
       ^
   drivers/infiniband/hw/bnxt_re/qplib_fp.c:336:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
               (struct bnxt_qplib_srq *)q_handle,
               ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:335:4: note: in expansion of macro 'if'
       if (!nq->srqn_handler(nq,
       ^
   drivers/infiniband/hw/bnxt_re/qplib_fp.c:336:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
               (struct bnxt_qplib_srq *)q_handle,
               ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:335:4: note: in expansion of macro 'if'
       if (!nq->srqn_handler(nq,
       ^
   In file included from include/linux/byteorder/little_endian.h:5:0,
                    from arch/x86/include/uapi/asm/byteorder.h:5,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/x86/include/asm/bitops.h:518,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/interrupt.h:6,
                    from drivers/infiniband/hw/bnxt_re/qplib_fp.c:39:
   drivers/infiniband/hw/bnxt_re/qplib_fp.c: In function 'bnxt_qplib_create_srq':
   include/uapi/linux/byteorder/little_endian.h:31:43: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                              ^
   include/linux/byteorder/generic.h:86:21: note: in expansion of macro '__cpu_to_le64'
    #define cpu_to_le64 __cpu_to_le64
                        ^
   drivers/infiniband/hw/bnxt_re/qplib_fp.c:567:19: note: in expansion of macro 'cpu_to_le64'
     req.srq_handle = cpu_to_le64(srq);
                      ^

vim +/if +335 drivers/infiniband/hw/bnxt_re/qplib_fp.c

   274	
   275	static void bnxt_qplib_service_nq(unsigned long data)
   276	{
   277		struct bnxt_qplib_nq *nq = (struct bnxt_qplib_nq *)data;
   278		struct bnxt_qplib_hwq *hwq = &nq->hwq;
   279		struct nq_base *nqe, **nq_ptr;
   280		struct bnxt_qplib_cq *cq;
   281		int num_cqne_processed = 0;
   282		int num_srqne_processed = 0;
   283		u32 sw_cons, raw_cons;
   284		u16 type;
   285		int budget = nq->budget;
   286		u64 q_handle;
   287	
   288		/* Service the NQ until empty */
   289		raw_cons = hwq->cons;
   290		while (budget--) {
   291			sw_cons = HWQ_CMP(raw_cons, hwq);
   292			nq_ptr = (struct nq_base **)hwq->pbl_ptr;
   293			nqe = &nq_ptr[NQE_PG(sw_cons)][NQE_IDX(sw_cons)];
   294			if (!NQE_CMP_VALID(nqe, raw_cons, hwq->max_elements))
   295				break;
   296	
   297			/*
   298			 * The valid test of the entry must be done first before
   299			 * reading any further.
   300			 */
   301			dma_rmb();
   302	
   303			type = le16_to_cpu(nqe->info10_type) & NQ_BASE_TYPE_MASK;
   304			switch (type) {
   305			case NQ_BASE_TYPE_CQ_NOTIFICATION:
   306			{
   307				struct nq_cn *nqcne = (struct nq_cn *)nqe;
   308	
   309				q_handle = le32_to_cpu(nqcne->cq_handle_low);
   310				q_handle |= (u64)le32_to_cpu(nqcne->cq_handle_high)
   311							     << 32;
   312				cq = (struct bnxt_qplib_cq *)(unsigned long)q_handle;
   313				bnxt_qplib_arm_cq_enable(cq);
   314				spin_lock_bh(&cq->compl_lock);
   315				atomic_set(&cq->arm_state, 0);
   316				if (!nq->cqn_handler(nq, (cq)))
   317					num_cqne_processed++;
   318				else
   319					dev_warn(&nq->pdev->dev,
   320						 "QPLIB: cqn - type 0x%x not handled",
   321						 type);
   322				spin_unlock_bh(&cq->compl_lock);
   323				break;
   324			}
   325			case NQ_BASE_TYPE_SRQ_EVENT:
   326			{
   327				struct nq_srq_event *nqsrqe =
   328							(struct nq_srq_event *)nqe;
   329	
   330				q_handle = le32_to_cpu(nqsrqe->srq_handle_low);
   331				q_handle |= (u64)le32_to_cpu(nqsrqe->srq_handle_high)
   332					     << 32;
   333				bnxt_qplib_arm_srq((struct bnxt_qplib_srq *)q_handle,
   334						   DBR_DBR_TYPE_SRQ_ARMENA);
 > 335				if (!nq->srqn_handler(nq,
   336						      (struct bnxt_qplib_srq *)q_handle,
   337						      nqsrqe->event))
   338					num_srqne_processed++;
   339				else
   340					dev_warn(&nq->pdev->dev,
   341						 "QPLIB: SRQ event 0x%x not handled",
   342						 nqsrqe->event);
   343				break;
   344			}
   345			case NQ_BASE_TYPE_DBQ_EVENT:
   346				break;
   347			default:
   348				dev_warn(&nq->pdev->dev,
   349					 "QPLIB: nqe with type = 0x%x not handled",
   350					 type);
   351				break;
   352			}
   353			raw_cons++;
   354		}
   355		if (hwq->cons != raw_cons) {
   356			hwq->cons = raw_cons;
   357			NQ_DB_REARM(nq->bar_reg_iomem, hwq->cons, hwq->max_elements);
   358		}
   359	}
   360	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (34580 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ