[PATCH] iommu/vt-d: fix compilation error when CONFIG_INTEL_IOMMU is unset

From: Jiang Liu
Date: Wed Jan 08 2014 - 03:53:14 EST


commit: 3b3dc052f79731f4a7389b760060928da18823c0 [6/22] iommu/vt-d: fix
PCI device reference leakage on error recovery path
config: x86_64-randconfig-r0-01080757 (attached as .config)

All error/warnings:
drivers/iommu/dmar.c: In function 'dmar_parse_dev_scope':
>> drivers/iommu/dmar.c:153:5: error: implicit declaration of function
'dmar_free_dev_scope' [-Werror=implicit-function-declaration]
dmar_free_dev_scope(devices, cnt);
^
drivers/iommu/dmar.c: At top level:
>> drivers/iommu/dmar.c:164:6: warning: conflicting types for
'dmar_free_dev_scope' [enabled by default]
void dmar_free_dev_scope(struct pci_dev ***devices, int *cnt)
^
drivers/iommu/dmar.c:153:5: note: previous implicit declaration of
'dmar_free_dev_scope' was here
dmar_free_dev_scope(devices, cnt);

Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
---
Hi Joerg,
Could you please help to fold this into "[6/22] iommu/vt-d: fix
PCI device reference leakage on error recovery path"?
This issue has been fixed in part2 of the patch series. But I
have only done compilation tests with part1 and part2 all together,
so this issue hasn't been revealed.

Thanks!
Gerry
---
include/linux/dmar.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/dmar.h b/include/linux/dmar.h
index bd5026b..30162f9 100644
--- a/include/linux/dmar.h
+++ b/include/linux/dmar.h
@@ -67,6 +67,9 @@ extern struct list_head dmar_drhd_units;

extern int dmar_table_init(void);
extern int dmar_dev_scope_init(void);
+extern int dmar_parse_dev_scope(void *start, void *end, int *cnt,
+ struct pci_dev ***devices, u16 segment);
+extern void dmar_free_dev_scope(struct pci_dev ***devices, int *cnt);
extern int enable_drhd_fault_handling(void);
#else
static inline int dmar_table_init(void)
@@ -151,9 +154,6 @@ struct dmar_atsr_unit {
int dmar_parse_rmrr_atsr_dev(void);
extern int dmar_parse_one_rmrr(struct acpi_dmar_header *header);
extern int dmar_parse_one_atsr(struct acpi_dmar_header *header);
-extern int dmar_parse_dev_scope(void *start, void *end, int *cnt,
- struct pci_dev ***devices, u16 segment);
-extern void dmar_free_dev_scope(struct pci_dev ***devices, int *cnt);
extern int intel_iommu_init(void);
#else /* !CONFIG_INTEL_IOMMU: */
static inline int intel_iommu_init(void) { return -ENODEV; }
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/