All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch "vme: Fix wrong pointer utilization in ca91cx42_slave_get" has been added to the 4.9-stable tree
@ 2017-01-17 13:13 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-01-17 13:13 UTC (permalink / raw)
  To: augustocaringi, gregkh, martyn; +Cc: stable, stable-commits


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 <stable@vger.kernel.org> know about it.


>From c8a6a09c1c617402cc9254b2bc8da359a0347d75 Mon Sep 17 00:00:00 2001
From: Augusto Mecking Caringi <augustocaringi@gmail.com>
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 <augustocaringi@gmail.com>

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;

Signed-off-by: Augusto Mecking Caringi <augustocaringi@gmail.com>
Acked-By: Martyn Welch <martyn@welchs.me.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/vme/bridges/vme_ca91cx42.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/vme/bridges/vme_ca91cx42.c
+++ b/drivers/vme/bridges/vme_ca91cx42.c
@@ -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 augustocaringi@gmail.com are

queue-4.9/vme-fix-wrong-pointer-utilization-in-ca91cx42_slave_get.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-01-17 13:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-17 13:13 Patch "vme: Fix wrong pointer utilization in ca91cx42_slave_get" has been added to the 4.9-stable tree gregkh

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.