From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE387C7619A for ; Wed, 5 Apr 2023 21:08:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 10F916B0071; Wed, 5 Apr 2023 17:08:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0BF8B6B0074; Wed, 5 Apr 2023 17:08:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF0826B0075; Wed, 5 Apr 2023 17:08:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DF2966B0071 for ; Wed, 5 Apr 2023 17:08:35 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A8BBD40436 for ; Wed, 5 Apr 2023 21:08:35 +0000 (UTC) X-FDA: 80648576190.09.F02E9F3 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf25.hostedemail.com (Postfix) with ESMTP id 63553A0004 for ; Wed, 5 Apr 2023 21:08:32 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=cl8qSx3Q; spf=pass (imf25.hostedemail.com: domain of lkp@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680728913; a=rsa-sha256; cv=none; b=nDDRSbwzdul3z0HwQ+BtOevVA4MCQHam7t+RLqkZtTgG1ElBaUSx/OzrtRyzNmrpK2tJ8n 7/ghlWKvp9fx0U1krciKu+VY7RTGfpqBdQHI/o1ImsQre7lr6B+ref++kSuGQYAuJkuxlW +yZnwx2WhC4m2jYXv0gBHKQhzRsQCnQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=cl8qSx3Q; spf=pass (imf25.hostedemail.com: domain of lkp@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680728913; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nr3G4LjPLQFYrgUR0ahK3vFfu6OUvuEH8KedlpyUDdc=; b=Rxed6/sn/VjAzvp2WkR2+6VSBA9lUXAj9wyFK11tIvR71AtIZLAHXeF6ty+m1YtNJU9vIP MDQEymkJyGXre5x79E71zVjdXpHqN33vapdMBIhy1MNQUSI0XQxG+CNPjLkDGRobaVij2H /Fi+aY1G7wm7JBuf8pznWrF05lmoHPM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680728912; x=1712264912; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=kBtAlLh97wt5jwCzGnjJBSJuimQxEQuTgGnvc1uCkV8=; b=cl8qSx3QIXtU5vvNSlqAc8j1M7/ft0zs6e/5MLuB0T/f/kL+u3euwXqg w9Y20uX0Ny/e2tIdWOQLPa8igGpi7zAqMhB8xoj6/Sb4q9Hkidex6Dhe3 227xBa1YhYxGDHr5RS6d4i4VRQDz0FcHjcSl3ELoAL3Op6yRrGkEAHJbz vPxSGh4hwNRCG6LJQrykEwk11hbhMKlBSZXNPAarm254eNc/Oscc1bDB4 el92D7G7lus2SC+UEeahdZml+YjbuV3oPEssdNOxisOMllJLukUtMK9JL mG0TEfG4A52ODxwaHUYkZgUIPrxyp9WwcawV213nosq/Lkf/FaEtVxhqD A==; X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="407657511" X-IronPort-AV: E=Sophos;i="5.98,321,1673942400"; d="scan'208";a="407657511" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Apr 2023 14:08:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="1016620276" X-IronPort-AV: E=Sophos;i="5.98,321,1673942400"; d="scan'208";a="1016620276" Received: from lkp-server01.sh.intel.com (HELO b613635ddfff) ([10.239.97.150]) by fmsmga005.fm.intel.com with ESMTP; 05 Apr 2023 14:08:25 -0700 Received: from kbuild by b613635ddfff with local (Exim 4.96) (envelope-from ) id 1pkAMi-000Qnq-1Z; Wed, 05 Apr 2023 21:08:24 +0000 Date: Thu, 6 Apr 2023 05:07:54 +0800 From: kernel test robot To: ankita@nvidia.com, jgg@nvidia.com, alex.williamson@redhat.com, naoya.horiguchi@nec.com, maz@kernel.org, oliver.upton@linux.dev Cc: oe-kbuild-all@lists.linux.dev, aniketa@nvidia.com, cjia@nvidia.com, kwankhede@nvidia.com, targupta@nvidia.com, vsethi@nvidia.com, acurrid@nvidia.com, apopple@nvidia.com, jhubbard@nvidia.com, danw@nvidia.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH v3 2/6] vfio/nvgpu: expose GPU device memory as BAR1 Message-ID: <202304060424.MtQM4udq-lkp@intel.com> References: <20230405180134.16932-3-ankita@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230405180134.16932-3-ankita@nvidia.com> X-Rspam-User: X-Rspamd-Queue-Id: 63553A0004 X-Rspamd-Server: rspam01 X-Stat-Signature: yrdfxxtkhyurr44kjxc4xpe89u7irruq X-HE-Tag: 1680728912-187794 X-HE-Meta: U2FsdGVkX18sqrwu+6yQaccLTwSiw1SMjpowj1umJPVLJGqPVYfYYBKyg4VnIPrTOWnq5DbgrkjCMp1zP73UgldcJsbOOXAtl2ht7cGIhi1dld2Iy6JAG+SuDpEbrvnxWkBYwrTFITRZ6chLoU358YqNvW/JuKT2FOkDxqUoJK4DHOtCmzkgohldDzOh4hR5ecZzR0uwal8TViK8esyS4PB/SWzHDFxk8Ig8K8/vrYibXWUyRdq92VcyYOCuQtdwJrk/5RO9F4u54yqmAsR8OIhyjM7BACXqEr6jF4gduJF8Ypuz+POyJE+WyYPQD8FRoF1lNrGjziqBksDjBgJV43kqMjCdn86UD/4Q+3kSk5JrH+NOU4x9bopHGq+0MwBSbdIxqsypIBXCGDwxzw3Yo4wriRNfy1Zj6RaNyvqrVjHbLCR24BcQHD3yMcVNXTrZmzg+r7UQQWZpZ460GssvF9I41LlWnBtuEu2V5jvMe8+6HOTzF2cgDshOhbizhxRZdEAqoiYBnldYvD054jTYRGmE9WsmO8yuvP3N8INmqzJ/YEsu+3x3mCTpSgv7eMu1C+1ygVIWJWOv+3XJxemFtdGynPs7v2ku++LkLIxZXa36hfYOhL8i5eBEP7M7tF7tfzqoLLan5mbNMes5hW5M91fOn4eTIrGjmiFb1mdHm3CATl9PcIHAIa6QiNO0r0Ujh4WSqBMm3LU7cJSShPs7sgg0L7AnZ8Z+wLjDMNQiSVE1PYdXXNVH6DaIYxlYCdwY+qWIZ6umx5mzEdgIlFXe6jSUNyosomh1c/z2CAVSY2VxaKYrs3Ve14/6Dp8D3FjqRqvXxSi9GHTMhcUmhlW3zgUYLLWCQ3Ok8Y72AO++DI8d8B27MXccpbtd30GpOHkcuXR01FqOsLyeeTYKdAexWT8dLFGrz7yxNKC0d5jkG/yaFFIAn+mSrD9otgoSpqlxROYiPs2e6AbYOQXHPD7 +SW3vPXy fgZQ30v628CTduoypFEsTnl1v87rl6xlr4JdHtPlJcFNMTqEXaUyk2EqggeNIwDhvfilpoyl9SlWdHu/sLyp5sELVHJzf0jMR6do/uVg2Q/O6l7CPBHER7jwHzyOqIDUjEQLeFew7xpz4I3/PkrEBdfOIp1phpbFKVfScgIbokvgSZul+KNW7C6GH4e18ZYkMb4HXVbLXb6H8sZDfz+zWidoiUDr6tJNzw3V/bo2npWWwaK6D2dcPzySAJ3g3ZdbLPVt1PLVqtojDDj9az2jXf1U4zLLAt8SVQyi0GIILG6vw6/41T9evV0ReCOer73qOfDn7R3a+9wW1pKT8AzE2CruvaswVBUFPOQVYxKLz9a+BQkGgtkPJGmJU7GkpcSN7mQSO/XNVaAnMjot4T+fpNn4TLxqyN3XDEi93Ul6lhWyBguFPg8d8ZeF8BJeb7XU7MGMOmmcX99tiqM1mjhF7j7zpJw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, kernel test robot noticed the following build warnings: [auto build test WARNING on awilliam-vfio/for-linus] [also build test WARNING on kvmarm/next akpm-mm/mm-everything linus/master v6.3-rc5 next-20230405] [cannot apply to awilliam-vfio/next] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/ankita-nvidia-com/kvm-determine-memory-type-from-VMA/20230406-020404 base: https://github.com/awilliam/linux-vfio.git for-linus patch link: https://lore.kernel.org/r/20230405180134.16932-3-ankita%40nvidia.com patch subject: [PATCH v3 2/6] vfio/nvgpu: expose GPU device memory as BAR1 config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230406/202304060424.MtQM4udq-lkp@intel.com/config) compiler: sparc64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/09ea30fcd2fb02d13a38cab4bf3d903f902408f4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review ankita-nvidia-com/kvm-determine-memory-type-from-VMA/20230406-020404 git checkout 09ea30fcd2fb02d13a38cab4bf3d903f902408f4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/vfio/pci/nvgpu/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot | Link: https://lore.kernel.org/oe-kbuild-all/202304060424.MtQM4udq-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/vfio/pci/nvgpu/main.c:57:5: warning: no previous prototype for 'nvgpu_vfio_pci_mmap' [-Wmissing-prototypes] 57 | int nvgpu_vfio_pci_mmap(struct vfio_device *core_vdev, | ^~~~~~~~~~~~~~~~~~~ >> drivers/vfio/pci/nvgpu/main.c:100:6: warning: no previous prototype for 'nvgpu_vfio_pci_ioctl' [-Wmissing-prototypes] 100 | long nvgpu_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int cmd, | ^~~~~~~~~~~~~~~~~~~~ vim +/nvgpu_vfio_pci_mmap +57 drivers/vfio/pci/nvgpu/main.c 56 > 57 int nvgpu_vfio_pci_mmap(struct vfio_device *core_vdev, 58 struct vm_area_struct *vma) 59 { 60 struct nvgpu_vfio_pci_core_device *nvdev = container_of( 61 core_vdev, struct nvgpu_vfio_pci_core_device, core_device.vdev); 62 63 unsigned long start_pfn; 64 unsigned int index; 65 u64 req_len, pgoff; 66 int ret = 0; 67 68 index = vma->vm_pgoff >> (VFIO_PCI_OFFSET_SHIFT - PAGE_SHIFT); 69 if (index != nvdev->mem_prop.bar1_start_offset) 70 return vfio_pci_core_mmap(core_vdev, vma); 71 72 /* 73 * Request to mmap the BAR1. Map to the CPU accessible memory on the 74 * GPU using the memory information gathered from the system ACPI 75 * tables. 76 */ 77 start_pfn = nvdev->mem_prop.hpa >> PAGE_SHIFT; 78 req_len = vma->vm_end - vma->vm_start; 79 pgoff = vma->vm_pgoff & 80 ((1U << (VFIO_PCI_OFFSET_SHIFT - PAGE_SHIFT)) - 1); 81 if (pgoff >= (nvdev->mem_prop.mem_length >> PAGE_SHIFT)) 82 return -EINVAL; 83 84 /* 85 * Perform a PFN map to the memory. The device BAR1 is backed by the 86 * GPU memory now. Check that the mapping does not overflow out of 87 * the GPU memory size. 88 */ 89 ret = remap_pfn_range(vma, vma->vm_start, start_pfn + pgoff, 90 min(req_len, nvdev->mem_prop.mem_length - pgoff), 91 vma->vm_page_prot); 92 if (ret) 93 return ret; 94 95 vma->vm_pgoff = start_pfn + pgoff; 96 97 return 0; 98 } 99 > 100 long nvgpu_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int cmd, 101 unsigned long arg) 102 { 103 struct nvgpu_vfio_pci_core_device *nvdev = container_of( 104 core_vdev, struct nvgpu_vfio_pci_core_device, core_device.vdev); 105 106 unsigned long minsz = offsetofend(struct vfio_region_info, offset); 107 struct vfio_region_info info; 108 109 switch (cmd) { 110 case VFIO_DEVICE_GET_REGION_INFO: 111 if (copy_from_user(&info, (void __user *)arg, minsz)) 112 return -EFAULT; 113 114 if (info.argsz < minsz) 115 return -EINVAL; 116 117 if (info.index == nvdev->mem_prop.bar1_start_offset) { 118 /* 119 * Request to determine the BAR1 region information. Send the 120 * GPU memory information. 121 */ 122 info.offset = VFIO_PCI_INDEX_TO_OFFSET(info.index); 123 info.size = nvdev->mem_prop.mem_length; 124 info.flags = VFIO_REGION_INFO_FLAG_READ | 125 VFIO_REGION_INFO_FLAG_WRITE | 126 VFIO_REGION_INFO_FLAG_MMAP; 127 return copy_to_user((void __user *)arg, &info, minsz) ? 128 -EFAULT : 0; 129 } 130 131 if (info.index == nvdev->mem_prop.bar1_start_offset + 1) { 132 /* 133 * The BAR1 region is 64b. Ignore this access. 134 */ 135 info.offset = VFIO_PCI_INDEX_TO_OFFSET(info.index); 136 info.size = 0; 137 info.flags = 0; 138 return copy_to_user((void __user *)arg, &info, minsz) ? 139 -EFAULT : 0; 140 } 141 142 return vfio_pci_core_ioctl(core_vdev, cmd, arg); 143 144 default: 145 return vfio_pci_core_ioctl(core_vdev, cmd, arg); 146 } 147 } 148 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests