From: Clemens Ladisch <clemens@ladisch.de>
Date: Wed, 13 Jun 2012 20:28:24 +0000 (+0200)
Subject: firewire: core: fix multichannel IR with buffers larger than 2 GB
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9d23f9e946ad757344792a20ba5152f3a921688b;p=linux.git

firewire: core: fix multichannel IR with buffers larger than 2 GB

With a 32-bit i, computing i<<PAGE_SHIFT might result in
an overflow and in an eventual sign-extension.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---

diff --git a/drivers/firewire/core-iso.c b/drivers/firewire/core-iso.c
index 8382e27e9a271..38c0aa60b2cb1 100644
--- a/drivers/firewire/core-iso.c
+++ b/drivers/firewire/core-iso.c
@@ -146,7 +146,7 @@ EXPORT_SYMBOL(fw_iso_buffer_destroy);
 /* Convert DMA address to offset into virtually contiguous buffer. */
 size_t fw_iso_buffer_lookup(struct fw_iso_buffer *buffer, dma_addr_t completed)
 {
-	int i;
+	size_t i;
 	dma_addr_t address;
 	ssize_t offset;