public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel-iommu fixes
@ 2007-10-29  4:51 Al Viro
  2007-10-29 15:25 ` Mark Rustad
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Al Viro @ 2007-10-29  4:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: anil.s.keshavamurthy, linux-kernel

	* off by one in dmar_get_fault_reason() (maximal index in
array is ARRAY_SIZE()-1, not ARRAY_SIZE())
	* NULL noise removal
	* __iomem annotation fix

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index 0c4ab3b..9b35259 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -745,7 +745,7 @@ static char *fault_reason_strings[] =
 	"non-zero reserved fields in PTE",
 	"Unknown"
 };
-#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings)
+#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings) - 1
 
 char *dmar_get_fault_reason(u8 fault_reason)
 {
@@ -995,7 +995,6 @@ static struct intel_iommu *alloc_iommu(struct dmar_drhd_unit *drhd)
 	return iommu;
 error_unmap:
 	iounmap(iommu->reg);
-	iommu->reg = 0;
 error:
 	kfree(iommu);
 	return NULL;
@@ -1808,7 +1807,7 @@ get_valid_domain_for_dev(struct pci_dev *pdev)
 	if (!domain) {
 		printk(KERN_ERR
 			"Allocating domain for %s failed", pci_name(pdev));
-		return 0;
+		return NULL;
 	}
 
 	/* make sure context mapping is ok */
@@ -1818,7 +1817,7 @@ get_valid_domain_for_dev(struct pci_dev *pdev)
 			printk(KERN_ERR
 				"Domain context map for %s failed",
 				pci_name(pdev));
-			return 0;
+			return NULL;
 		}
 	}
 
diff --git a/drivers/pci/intel-iommu.h b/drivers/pci/intel-iommu.h
index ee88dd2..459ad1f 100644
--- a/drivers/pci/intel-iommu.h
+++ b/drivers/pci/intel-iommu.h
@@ -58,7 +58,7 @@
 		hi = readl(dmar + reg + 4); \
 		(((u64) hi) << 32) + lo; })
 */
-static inline u64 dmar_readq(void *addr)
+static inline u64 dmar_readq(void __iomem *addr)
 {
 	u32 lo, hi;
 	lo = readl(addr);

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] intel-iommu fixes
  2007-10-29  4:51 [PATCH] intel-iommu fixes Al Viro
@ 2007-10-29 15:25 ` Mark Rustad
  2007-10-29 16:52 ` Mark Gross
  2007-11-16  7:14 ` Denys Vlasenko
  2 siblings, 0 replies; 4+ messages in thread
From: Mark Rustad @ 2007-10-29 15:25 UTC (permalink / raw)
  To: Al Viro; +Cc: Linus Torvalds, anil.s.keshavamurthy, linux-kernel

On Oct 28, 2007, at 11:51 PM, Al Viro wrote:

> 	* off by one in dmar_get_fault_reason() (maximal index in
> array is ARRAY_SIZE()-1, not ARRAY_SIZE())
> 	* NULL noise removal
> 	* __iomem annotation fix
>
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ---
> diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
> index 0c4ab3b..9b35259 100644
> --- a/drivers/pci/intel-iommu.c
> +++ b/drivers/pci/intel-iommu.c
> @@ -745,7 +745,7 @@ static char *fault_reason_strings[] =
>  	"non-zero reserved fields in PTE",
>  	"Unknown"
>  };
> -#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings)
> +#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings) - 1

This define now should really have ()'s around its value now that it  
is an expression to avoid potential problems at its reference sites.

<snip>

-- 
Mark Rustad, MRustad@gmail.com



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] intel-iommu fixes
  2007-10-29  4:51 [PATCH] intel-iommu fixes Al Viro
  2007-10-29 15:25 ` Mark Rustad
@ 2007-10-29 16:52 ` Mark Gross
  2007-11-16  7:14 ` Denys Vlasenko
  2 siblings, 0 replies; 4+ messages in thread
From: Mark Gross @ 2007-10-29 16:52 UTC (permalink / raw)
  To: Al Viro; +Cc: Linus Torvalds, anil.s.keshavamurthy, linux-kernel

On Mon, Oct 29, 2007 at 04:51:16AM +0000, Al Viro wrote:
> 	* off by one in dmar_get_fault_reason() (maximal index in
> array is ARRAY_SIZE()-1, not ARRAY_SIZE())
> 	* NULL noise removal
> 	* __iomem annotation fix
> 
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ---
> diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
> index 0c4ab3b..9b35259 100644
> --- a/drivers/pci/intel-iommu.c
> +++ b/drivers/pci/intel-iommu.c
> @@ -745,7 +745,7 @@ static char *fault_reason_strings[] =
>  	"non-zero reserved fields in PTE",
>  	"Unknown"
>  };
> -#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings)
> +#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings) - 1

Probably should be 
+#define MAX_FAULT_REASON_IDX 	(ARRAY_SIZE(fault_reason_strings) - 1)

>  
>  char *dmar_get_fault_reason(u8 fault_reason)
>  {
> @@ -995,7 +995,6 @@ static struct intel_iommu *alloc_iommu(struct dmar_drhd_unit *drhd)
>  	return iommu;
>  error_unmap:
>  	iounmap(iommu->reg);
> -	iommu->reg = 0;
>  error:
>  	kfree(iommu);
>  	return NULL;
> @@ -1808,7 +1807,7 @@ get_valid_domain_for_dev(struct pci_dev *pdev)
>  	if (!domain) {
>  		printk(KERN_ERR
>  			"Allocating domain for %s failed", pci_name(pdev));
> -		return 0;
> +		return NULL;
>  	}
>  
>  	/* make sure context mapping is ok */
> @@ -1818,7 +1817,7 @@ get_valid_domain_for_dev(struct pci_dev *pdev)
>  			printk(KERN_ERR
>  				"Domain context map for %s failed",
>  				pci_name(pdev));
> -			return 0;
> +			return NULL;
>  		}
>  	}
>  
> diff --git a/drivers/pci/intel-iommu.h b/drivers/pci/intel-iommu.h
> index ee88dd2..459ad1f 100644
> --- a/drivers/pci/intel-iommu.h
> +++ b/drivers/pci/intel-iommu.h
> @@ -58,7 +58,7 @@
>  		hi = readl(dmar + reg + 4); \
>  		(((u64) hi) << 32) + lo; })
>  */
> -static inline u64 dmar_readq(void *addr)
> +static inline u64 dmar_readq(void __iomem *addr)
>  {
>  	u32 lo, hi;
>  	lo = readl(addr);
Looks good to me.

ACK --mgross

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] intel-iommu fixes
  2007-10-29  4:51 [PATCH] intel-iommu fixes Al Viro
  2007-10-29 15:25 ` Mark Rustad
  2007-10-29 16:52 ` Mark Gross
@ 2007-11-16  7:14 ` Denys Vlasenko
  2 siblings, 0 replies; 4+ messages in thread
From: Denys Vlasenko @ 2007-11-16  7:14 UTC (permalink / raw)
  To: Al Viro; +Cc: Linus Torvalds, anil.s.keshavamurthy, linux-kernel

On Sunday 28 October 2007 21:51, Al Viro wrote:
> -#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings)
> +#define MAX_FAULT_REASON_IDX 	ARRAY_SIZE(fault_reason_strings) - 1

The macro is unsafe without yet another ()s around it.
--
vda

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-16  7:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-29  4:51 [PATCH] intel-iommu fixes Al Viro
2007-10-29 15:25 ` Mark Rustad
2007-10-29 16:52 ` Mark Gross
2007-11-16  7:14 ` Denys Vlasenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox