From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, FelixCuioc <FelixCui-oc@zhaoxin.com>,
Joerg Roedel <joro@8bytes.org>,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
David Woodhouse <dwmw2@infradead.org>,
Lu Baolu <baolu.lu@linux.intel.com>
Cc: kbuild-all@lists.01.org, lkp@intel.com, CobeChen-oc@zhaoxin.com
Subject: Re: [PATCH] iommu/vt-d:Add support for probing ACPI device in RMRR
Date: Mon, 24 Aug 2020 13:37:56 +0300 [thread overview]
Message-ID: <20200824103756.GA1793@kadam> (raw)
In-Reply-To: <20200818024623.2406-1-FelixCui-oc@zhaoxin.com>
[-- Attachment #1: Type: text/plain, Size: 6980 bytes --]
Hi FelixCuioc,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: x86_64-randconfig-m001-20200820 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iommu/intel/iommu.c:4850 probe_acpi_namespace_devices() warn: inconsistent returns 'adev->physical_node_lock'.
Old smatch warnings:
drivers/iommu/intel/iommu.c:836 device_to_iommu() error: we previously assumed 'pdev' could be null (see line 809)
drivers/iommu/intel/iommu.c:2272 __domain_mapping() error: we previously assumed 'sg' could be null (see line 2263)
drivers/iommu/intel/iommu.c:4371 intel_iommu_add() warn: should '(1 << sp)' be a 64 bit type?
# https://github.com/0day-ci/linux/commit/3adfd53a32c52833a34033fabaa5c1e65dfca688
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
git checkout 3adfd53a32c52833a34033fabaa5c1e65dfca688
vim +4850 drivers/iommu/intel/iommu.c
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4797 static int __init probe_acpi_namespace_devices(void)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4798 {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4799 struct dmar_drhd_unit *drhd;
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4800 /* To avoid a -Wunused-but-set-variable warning. */
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4801 struct intel_iommu *iommu __maybe_unused;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4802 struct device *dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4803 int i, ret = 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4804
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4805 for_each_active_iommu(iommu, drhd) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4806 for_each_active_dev_scope(drhd->devices,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4807 drhd->devices_cnt, i, dev) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4808 struct acpi_device_physical_node *pn;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4809 struct iommu_group *group;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4810 struct acpi_device *adev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4811 struct device *pn_dev = NULL;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4812
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4813 if (dev->bus != &acpi_bus_type)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4814 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4815
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4816 adev = to_acpi_device(dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4817 mutex_lock(&adev->physical_node_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4818 list_for_each_entry(pn,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4819 &adev->physical_node_list, node) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4820 group = iommu_group_get(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4821 if (group) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4822 pn_dev = pn->dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4823 iommu_group_put(group);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4824 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4825 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4826
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4827 pn->dev->bus->iommu_ops = &intel_iommu_ops;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4828 ret = iommu_probe_device(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4829 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4830 break;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4831 pn_dev = pn->dev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4832 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4833 if (pn_dev == NULL) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4834 dev->bus->iommu_ops = &intel_iommu_ops;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4835 ret = iommu_probe_device(dev);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4836 if (ret) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4837 pr_err("acpi_device probe fail! ret:%d\n", ret);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4838 return ret;
Need to unlock.
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4839 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4840 return 0;
Here too.
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4841 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4842 ret = acpi_device_create_direct_mappings(pn_dev, dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4843 mutex_unlock(&adev->physical_node_lock);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4844
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4845 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4846 return ret;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4847 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4848 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4849
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 @4850 return 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4851 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36016 bytes --]
[-- Attachment #3: Type: text/plain, Size: 156 bytes --]
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH] iommu/vt-d:Add support for probing ACPI device in RMRR
Date: Mon, 24 Aug 2020 13:37:56 +0300 [thread overview]
Message-ID: <20200824103756.GA1793@kadam> (raw)
In-Reply-To: <20200818024623.2406-1-FelixCui-oc@zhaoxin.com>
[-- Attachment #1: Type: text/plain, Size: 7076 bytes --]
Hi FelixCuioc,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: x86_64-randconfig-m001-20200820 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iommu/intel/iommu.c:4850 probe_acpi_namespace_devices() warn: inconsistent returns 'adev->physical_node_lock'.
Old smatch warnings:
drivers/iommu/intel/iommu.c:836 device_to_iommu() error: we previously assumed 'pdev' could be null (see line 809)
drivers/iommu/intel/iommu.c:2272 __domain_mapping() error: we previously assumed 'sg' could be null (see line 2263)
drivers/iommu/intel/iommu.c:4371 intel_iommu_add() warn: should '(1 << sp)' be a 64 bit type?
# https://github.com/0day-ci/linux/commit/3adfd53a32c52833a34033fabaa5c1e65dfca688
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
git checkout 3adfd53a32c52833a34033fabaa5c1e65dfca688
vim +4850 drivers/iommu/intel/iommu.c
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4797 static int __init probe_acpi_namespace_devices(void)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4798 {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4799 struct dmar_drhd_unit *drhd;
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4800 /* To avoid a -Wunused-but-set-variable warning. */
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4801 struct intel_iommu *iommu __maybe_unused;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4802 struct device *dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4803 int i, ret = 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4804
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4805 for_each_active_iommu(iommu, drhd) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4806 for_each_active_dev_scope(drhd->devices,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4807 drhd->devices_cnt, i, dev) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4808 struct acpi_device_physical_node *pn;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4809 struct iommu_group *group;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4810 struct acpi_device *adev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4811 struct device *pn_dev = NULL;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4812
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4813 if (dev->bus != &acpi_bus_type)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4814 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4815
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4816 adev = to_acpi_device(dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4817 mutex_lock(&adev->physical_node_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4818 list_for_each_entry(pn,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4819 &adev->physical_node_list, node) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4820 group = iommu_group_get(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4821 if (group) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4822 pn_dev = pn->dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4823 iommu_group_put(group);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4824 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4825 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4826
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4827 pn->dev->bus->iommu_ops = &intel_iommu_ops;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4828 ret = iommu_probe_device(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4829 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4830 break;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4831 pn_dev = pn->dev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4832 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4833 if (pn_dev == NULL) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4834 dev->bus->iommu_ops = &intel_iommu_ops;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4835 ret = iommu_probe_device(dev);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4836 if (ret) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4837 pr_err("acpi_device probe fail! ret:%d\n", ret);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4838 return ret;
Need to unlock.
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4839 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4840 return 0;
Here too.
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4841 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4842 ret = acpi_device_create_direct_mappings(pn_dev, dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4843 mutex_unlock(&adev->physical_node_lock);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4844
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4845 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4846 return ret;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4847 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4848 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4849
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 @4850 return 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4851 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36016 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] iommu/vt-d:Add support for probing ACPI device in RMRR
Date: Mon, 24 Aug 2020 13:37:56 +0300 [thread overview]
Message-ID: <20200824103756.GA1793@kadam> (raw)
In-Reply-To: <20200818024623.2406-1-FelixCui-oc@zhaoxin.com>
[-- Attachment #1: Type: text/plain, Size: 7076 bytes --]
Hi FelixCuioc,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: x86_64-randconfig-m001-20200820 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iommu/intel/iommu.c:4850 probe_acpi_namespace_devices() warn: inconsistent returns 'adev->physical_node_lock'.
Old smatch warnings:
drivers/iommu/intel/iommu.c:836 device_to_iommu() error: we previously assumed 'pdev' could be null (see line 809)
drivers/iommu/intel/iommu.c:2272 __domain_mapping() error: we previously assumed 'sg' could be null (see line 2263)
drivers/iommu/intel/iommu.c:4371 intel_iommu_add() warn: should '(1 << sp)' be a 64 bit type?
# https://github.com/0day-ci/linux/commit/3adfd53a32c52833a34033fabaa5c1e65dfca688
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
git checkout 3adfd53a32c52833a34033fabaa5c1e65dfca688
vim +4850 drivers/iommu/intel/iommu.c
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4797 static int __init probe_acpi_namespace_devices(void)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4798 {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4799 struct dmar_drhd_unit *drhd;
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4800 /* To avoid a -Wunused-but-set-variable warning. */
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4801 struct intel_iommu *iommu __maybe_unused;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4802 struct device *dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4803 int i, ret = 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4804
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4805 for_each_active_iommu(iommu, drhd) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4806 for_each_active_dev_scope(drhd->devices,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4807 drhd->devices_cnt, i, dev) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4808 struct acpi_device_physical_node *pn;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4809 struct iommu_group *group;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4810 struct acpi_device *adev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4811 struct device *pn_dev = NULL;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4812
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4813 if (dev->bus != &acpi_bus_type)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4814 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4815
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4816 adev = to_acpi_device(dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4817 mutex_lock(&adev->physical_node_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4818 list_for_each_entry(pn,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4819 &adev->physical_node_list, node) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4820 group = iommu_group_get(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4821 if (group) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4822 pn_dev = pn->dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4823 iommu_group_put(group);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4824 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4825 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4826
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4827 pn->dev->bus->iommu_ops = &intel_iommu_ops;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4828 ret = iommu_probe_device(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4829 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4830 break;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4831 pn_dev = pn->dev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4832 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4833 if (pn_dev == NULL) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4834 dev->bus->iommu_ops = &intel_iommu_ops;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4835 ret = iommu_probe_device(dev);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4836 if (ret) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4837 pr_err("acpi_device probe fail! ret:%d\n", ret);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4838 return ret;
Need to unlock.
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4839 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4840 return 0;
Here too.
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4841 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4842 ret = acpi_device_create_direct_mappings(pn_dev, dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4843 mutex_unlock(&adev->physical_node_lock);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4844
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4845 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4846 return ret;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4847 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4848 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4849
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 @4850 return 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4851 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36016 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, FelixCuioc <FelixCui-oc@zhaoxin.com>,
Joerg Roedel <joro@8bytes.org>,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
David Woodhouse <dwmw2@infradead.org>,
Lu Baolu <baolu.lu@linux.intel.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org, CobeChen-oc@zhaoxin.com,
RaymondPang-oc@zhaoxin.com
Subject: Re: [PATCH] iommu/vt-d:Add support for probing ACPI device in RMRR
Date: Mon, 24 Aug 2020 13:37:56 +0300 [thread overview]
Message-ID: <20200824103756.GA1793@kadam> (raw)
In-Reply-To: <20200818024623.2406-1-FelixCui-oc@zhaoxin.com>
[-- Attachment #1: Type: text/plain, Size: 6980 bytes --]
Hi FelixCuioc,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: x86_64-randconfig-m001-20200820 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iommu/intel/iommu.c:4850 probe_acpi_namespace_devices() warn: inconsistent returns 'adev->physical_node_lock'.
Old smatch warnings:
drivers/iommu/intel/iommu.c:836 device_to_iommu() error: we previously assumed 'pdev' could be null (see line 809)
drivers/iommu/intel/iommu.c:2272 __domain_mapping() error: we previously assumed 'sg' could be null (see line 2263)
drivers/iommu/intel/iommu.c:4371 intel_iommu_add() warn: should '(1 << sp)' be a 64 bit type?
# https://github.com/0day-ci/linux/commit/3adfd53a32c52833a34033fabaa5c1e65dfca688
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review FelixCuioc/iommu-vt-d-Add-support-for-probing-ACPI-device-in-RMRR/20200818-104920
git checkout 3adfd53a32c52833a34033fabaa5c1e65dfca688
vim +4850 drivers/iommu/intel/iommu.c
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4797 static int __init probe_acpi_namespace_devices(void)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4798 {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4799 struct dmar_drhd_unit *drhd;
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4800 /* To avoid a -Wunused-but-set-variable warning. */
af88ec3962010e3 drivers/iommu/intel-iommu.c Qian Cai 2019-06-03 4801 struct intel_iommu *iommu __maybe_unused;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4802 struct device *dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4803 int i, ret = 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4804
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4805 for_each_active_iommu(iommu, drhd) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4806 for_each_active_dev_scope(drhd->devices,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4807 drhd->devices_cnt, i, dev) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4808 struct acpi_device_physical_node *pn;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4809 struct iommu_group *group;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4810 struct acpi_device *adev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4811 struct device *pn_dev = NULL;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4812
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4813 if (dev->bus != &acpi_bus_type)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4814 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4815
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4816 adev = to_acpi_device(dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4817 mutex_lock(&adev->physical_node_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4818 list_for_each_entry(pn,
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4819 &adev->physical_node_list, node) {
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4820 group = iommu_group_get(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4821 if (group) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4822 pn_dev = pn->dev;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4823 iommu_group_put(group);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4824 continue;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4825 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4826
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4827 pn->dev->bus->iommu_ops = &intel_iommu_ops;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4828 ret = iommu_probe_device(pn->dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4829 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4830 break;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4831 pn_dev = pn->dev;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4832 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4833 if (pn_dev == NULL) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4834 dev->bus->iommu_ops = &intel_iommu_ops;
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4835 ret = iommu_probe_device(dev);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4836 if (ret) {
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4837 pr_err("acpi_device probe fail! ret:%d\n", ret);
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4838 return ret;
Need to unlock.
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4839 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4840 return 0;
Here too.
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4841 }
3adfd53a32c5283 drivers/iommu/intel/iommu.c FelixCuioc 2020-08-17 4842 ret = acpi_device_create_direct_mappings(pn_dev, dev);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4843 mutex_unlock(&adev->physical_node_lock);
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4844
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4845 if (ret)
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4846 return ret;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4847 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4848 }
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4849
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 @4850 return 0;
fa212a97f3a366a drivers/iommu/intel-iommu.c Lu Baolu 2019-05-25 4851 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36016 bytes --]
next prev parent reply other threads:[~2020-08-24 10:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-18 2:46 [PATCH] iommu/vt-d:Add support for probing ACPI device in RMRR FelixCuioc
2020-08-18 2:46 ` FelixCuioc
2020-08-24 10:37 ` Dan Carpenter [this message]
2020-08-24 10:37 ` Dan Carpenter
2020-08-24 10:37 ` Dan Carpenter
2020-08-24 10:37 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2020-08-20 17:57 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200824103756.GA1793@kadam \
--to=dan.carpenter@oracle.com \
--cc=CobeChen-oc@zhaoxin.com \
--cc=FelixCui-oc@zhaoxin.com \
--cc=baolu.lu@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.