4.7-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Alexandre Bounine <alexandre.boun...@idt.com>

commit b30069291dc7f9b9a073c33d619818fe4a8e50de upstream.

Fix incorrect condition to identify involvment of a address translation
mechanism.

This bug results in NULL pointer kernel crash dump in cases when mapping
of inbound RapidIO address range is requested within existing aprture.

Link: http://lkml.kernel.org/r/20160901173144.2983-1-alexandre.boun...@idt.com
Signed-off-by: Alexandre Bounine <alexandre.boun...@idt.com>
Cc: Matt Porter <mpor...@kernel.crashing.org>
Cc: Andre van Herk <andre.van.h...@prodrive-technologies.com>
Cc: Barry Wood <barry.w...@idt.com>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/rapidio/devices/tsi721.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/rapidio/devices/tsi721.c
+++ b/drivers/rapidio/devices/tsi721.c
@@ -1148,7 +1148,7 @@ static int tsi721_rio_map_inb_mem(struct
                } else if (ibw_start < (ib_win->rstart + ib_win->size) &&
                           (ibw_start + ibw_size) > ib_win->rstart) {
                        /* Return error if address translation involved */
-                       if (direct && ib_win->xlat) {
+                       if (!direct || ib_win->xlat) {
                                ret = -EFAULT;
                                break;
                        }


Reply via email to