Patch "IB/rxe: Fix mem_check_range integer overflow" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
IB/rxe: Fix mem_check_range integer overflow
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:
ib-rxe-fix-mem_check_range-integer-overflow.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
647bf3d8a8e5777319da92af672289b2a6c4dc66Mon Sep 17 00:00:00 2001
From: Eyal Itkin <[email protected]>
Date: Tue, 7 Feb 2017 16:45:19 +0300
Subject: IB/rxe: Fix mem_check_range integer overflow
From: Eyal Itkin <[email protected]>
commit 647bf3d8a8e5777319da92af672289b2a6c4dc66 upstream.
Update the range check to avoid integer-overflow in edge case. Resolves CVE 2016-8636.
--- drivers/infiniband/sw/rxe/rxe_mr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/infiniband/sw/rxe/rxe_mr.c +5 -3
@@ -59,9 +59,11 @@ int mem_check_range(struct rxe_mem *mem,case RXE_MEM_TYPE_MR :case RXE_MEM_TYPE_FMR : -return ((iova < mem->iova) || - ((iova + length) > (mem->iova + mem->length))) ? - -EFAULT :0 ; +if (iova < mem->iova || + length > mem->length || + iova > mem->iova + mem->length - length) +return -EFAULT ; +return 0 ;default :return -EFAULT ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/ib-rxe-fix-resid-update.patch queue-4.9/ib-rxe-fix-mem_check_range-integer-overflow.patch