Patch "vme: Fix wrong pointer utilization in ca91cx42_slave_get" has been added to the 4.9-stable tree
This is a note to let you know that I've just added the patch titled
vme: Fix wrong pointer utilization in ca91cx42_slave_get
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
vme-fix-wrong-pointer-utilization-in-ca91cx42_slave_get.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c8a6a09c1c617402cc9254b2bc8da359a0347d75Mon Sep 17 00:00:00 2001
From: Augusto Mecking Caringi <[email protected]>
Date: Tue, 10 Jan 2017 10:45:00 +0000
Subject: vme: Fix wrong pointer utilization in ca91cx42_slave_get
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Augusto Mecking Caringi <[email protected]>
commit c8a6a09c1c617402cc9254b2bc8da359a0347d75 upstream.
In ca91cx42_slave_get function, the value pointed by vme_base pointer is set through:
*vme_base = ioread32(bridge->base + CA91CX42_VSI_BS[i]);
So it must be dereferenced to be used in calculation of pci_base:
*pci_base = (dma_addr_t)*vme_base + pci_offset;
This bug was caught thanks to the following gcc warning:
drivers/vme/bridges/vme_ca91cx42.c: In function ‘ca91cx42_slave_get’:drivers/vme/bridges/vme_ca91cx42.c:467:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] *pci_base = (dma_addr_t)vme_base + pci_offset;
--- drivers/vme/bridges/vme_ca91cx42.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/vme/bridges/vme_ca91cx42.c +1 -1
@@ -464,7 +464,7 @@ static int ca91cx42_slave_get(struct vme vme_bound =ioread32 (bridge->base +CA91CX42_VSI_BD [i]); pci_offset =ioread32 (bridge->base +CA91CX42_VSI_TO [i]); - *pci_base = (dma_addr_t )vme_base + pci_offset; + *pci_base = (dma_addr_t)*vme_base + pci_offset; *size = (unsigned long long )((vme_bound - *vme_base) + granularity); *enabled =0 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/vme-fix-wrong-pointer-utilization-in-ca91cx42_slave_get.patch