[{"id":1773500,"web_url":"http://patchwork.ozlabs.org/comment/1773500/","msgid":"<201709221915.92rrS1kM%fengguang.wu@intel.com>","list_archive_url":null,"date":"2017-09-22T11:25:15","subject":"Re: [Qemu-devel] [PATCH v2 2/4] fw_cfg: do DMA read operation","submitter":{"id":67315,"url":"http://patchwork.ozlabs.org/api/people/67315/","name":"kernel test robot","email":"lkp@intel.com"},"content":"Hi Marc-André,\n\n[auto build test WARNING on linus/master]\n[also build test WARNING on v4.14-rc1 next-20170922]\n[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]\n\nurl:    https://github.com/0day-ci/linux/commits/marcandre-lureau-redhat-com/fw_cfg-add-DMA-operations-etc-vmcoreinfo-support/20170922-182716\nconfig: i386-randconfig-x000-201738 (attached as .config)\ncompiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901\nreproduce:\n        # save the attached .config to linux build tree\n        make ARCH=i386 \n\nAll warnings (new ones prefixed by >>):\n\n   drivers//firmware/qemu_fw_cfg.c: In function 'fw_cfg_dma_transfer':\n>> drivers//firmware/qemu_fw_cfg.c:139:18: warning: right shift count >= width of type [-Wshift-count-overflow]\n     iowrite32be(dma >> 32, fw_cfg_reg_dma);\n                     ^~\n   In file included from include/uapi/linux/stddef.h:1:0,\n                    from include/linux/stddef.h:4,\n                    from include/uapi/linux/posix_types.h:4,\n                    from include/uapi/linux/types.h:13,\n                    from include/linux/types.h:5,\n                    from include/linux/list.h:4,\n                    from include/linux/module.h:9,\n                    from drivers//firmware/qemu_fw_cfg.c:30:\n   drivers//firmware/qemu_fw_cfg.c: At top level:\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'strcpy' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:421:2: note: in expansion of macro 'if'\n     if (p_size == (size_t)-1 && q_size == (size_t)-1)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:411:2: note: in expansion of macro 'if'\n     if (p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:409:2: note: in expansion of macro 'if'\n     if (__builtin_constant_p(size) && p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:400:2: note: in expansion of macro 'if'\n     if (p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:398:2: note: in expansion of macro 'if'\n     if (__builtin_constant_p(size) && p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:389:2: note: in expansion of macro 'if'\n     if (p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:387:2: note: in expansion of macro 'if'\n     if (__builtin_constant_p(size) && p_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:379:2: note: in expansion of macro 'if'\n     if (p_size < size || q_size < size)\n     ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:376:3: note: in expansion of macro 'if'\n      if (q_size < size)\n      ^~\n   include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static\n       ______f = {     \\\n       ^\n   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'\n    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )\n                          ^~~~~~~~~~\n   include/linux/string.h:374:3: note: in expansion of macro 'if'\n      if (p_size < size)\n\nvim +139 drivers//firmware/qemu_fw_cfg.c\n\n   102\t\n   103\tstatic ssize_t fw_cfg_dma_transfer(void *address, u32 length, u32 control)\n   104\t{\n   105\t\tdma_addr_t dma_addr = 0;\n   106\t\tstruct fw_cfg_dma *d;\n   107\t\tdma_addr_t dma;\n   108\t\tssize_t ret = length;\n   109\t\tenum dma_data_direction dir =\n   110\t\t\t(control & FW_CFG_DMA_CTL_READ ? DMA_FROM_DEVICE : 0);\n   111\t\n   112\t\tif (address && length) {\n   113\t\t\tdma_addr = dma_map_single(dev, address, length, dir);\n   114\t\t\tif (dma_mapping_error(NULL, dma_addr)) {\n   115\t\t\t\tWARN(1, \"%s: failed to map address\\n\", __func__);\n   116\t\t\t\treturn -EFAULT;\n   117\t\t\t}\n   118\t\t}\n   119\t\n   120\t\td = kmalloc(sizeof(*d), GFP_KERNEL | GFP_DMA);\n   121\t\tif (!d) {\n   122\t\t\tret = -ENOMEM;\n   123\t\t\tgoto end;\n   124\t\t}\n   125\t\n   126\t\tdma = dma_map_single(dev, d, sizeof(*d), DMA_BIDIRECTIONAL);\n   127\t\tif (dma_mapping_error(NULL, dma)) {\n   128\t\t\tWARN(1, \"%s: failed to map fw_cfg_dma\\n\", __func__);\n   129\t\t\tret = -EFAULT;\n   130\t\t\tgoto end;\n   131\t\t}\n   132\t\n   133\t\t*d = (struct fw_cfg_dma) {\n   134\t\t\t.address = cpu_to_be64(dma_addr),\n   135\t\t\t.length = cpu_to_be32(length),\n   136\t\t\t.control = cpu_to_be32(control)\n   137\t\t};\n   138\t\n > 139\t\tiowrite32be(dma >> 32, fw_cfg_reg_dma);\n   140\t\tiowrite32be(dma, fw_cfg_reg_dma + 4);\n   141\t\twhile (be32_to_cpu(d->control) & ~FW_CFG_DMA_CTL_ERROR)\n   142\t\t\tyield(); /* FIXME: wait_event? */\n   143\t\n   144\t\tif (be32_to_cpu(d->control) & FW_CFG_DMA_CTL_ERROR)\n   145\t\t\tret = -EIO;\n   146\t\n   147\t\tdma_unmap_single(dev, dma, sizeof(*d), DMA_BIDIRECTIONAL);\n   148\t\n   149\tend:\n   150\t\tkfree(d);\n   151\t\tif (dma_addr)\n   152\t\t\tdma_unmap_single(dev, dma_addr, length, dir);\n   153\t\n   154\t\treturn ret;\n   155\t}\n   156\t\n\n---\n0-DAY kernel test infrastructure                Open Source Technology Center\nhttps://lists.01.org/pipermail/kbuild-all                   Intel Corporation","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xzB546Wyjz9sNw\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 21:26:31 +1000 (AEST)","from localhost ([::1]:58090 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dvM6H-0008Nt-5S\n\tfor incoming@patchwork.ozlabs.org; Fri, 22 Sep 2017 07:26:29 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:39207)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <fengguang.wu@intel.com>) id 1dvM5u-0008Nb-Rt\n\tfor qemu-devel@nongnu.org; Fri, 22 Sep 2017 07:26:08 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <fengguang.wu@intel.com>) id 1dvM5o-0006ro-As\n\tfor qemu-devel@nongnu.org; Fri, 22 Sep 2017 07:26:06 -0400","from mga06.intel.com ([134.134.136.31]:2552)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <fengguang.wu@intel.com>)\n\tid 1dvM5n-0006n6-Ki\n\tfor qemu-devel@nongnu.org; Fri, 22 Sep 2017 07:26:00 -0400","from orsmga002.jf.intel.com ([10.7.209.21])\n\tby orsmga104.jf.intel.com with ESMTP; 22 Sep 2017 04:25:57 -0700","from bee.sh.intel.com (HELO bee) ([10.239.97.14])\n\tby orsmga002.jf.intel.com with ESMTP; 22 Sep 2017 04:25:55 -0700","from kbuild by bee with local (Exim 4.84_2)\n\t(envelope-from <fengguang.wu@intel.com>)\n\tid 1dvMAW-000HLB-Ss; Fri, 22 Sep 2017 19:30:52 +0800"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,427,1500966000\"; \n\td=\"gz'50?scan'50,208,50\";a=\"138278112\"","Date":"Fri, 22 Sep 2017 19:25:15 +0800","From":"kbuild test robot <lkp@intel.com>","To":"marcandre.lureau@redhat.com","Message-ID":"<201709221915.92rrS1kM%fengguang.wu@intel.com>","MIME-Version":"1.0","Content-Type":"multipart/mixed; boundary=\"tKW2IUtsqtDRztdT\"","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20170919115814.14724-3-marcandre.lureau@redhat.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-SA-Exim-Connect-IP":"<locally generated>","X-SA-Exim-Mail-From":"fengguang.wu@intel.com","X-SA-Exim-Scanned":"No (on bee); SAEximRunCond expanded to false","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"134.134.136.31","Subject":"Re: [Qemu-devel] [PATCH v2 2/4] fw_cfg: do DMA read operation","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"mst@redhat.com, somlo@cmu.edu, qemu-devel@nongnu.org,\n\tlinux-kernel@vger.kernel.org, kbuild-all@01.org, =?iso-8859-1?q?Marc-?=\n\t=?iso-8859-1?q?Andr=E9?= Lureau <marcandre.lureau@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]