Re: [PATCH -stable v4.14] mm/usercopy: use memory range to be accessed for wraparound check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 16, 2019 at 11:24:08AM -0700, Kees Cook wrote:
> From: Prasad Sodagudi <psodagud@xxxxxxxxxxxxxx>
> 
> commit 951531691c4bcaa59f56a316e018bc2ff1ddf855 upstream.
> 
> Currently, when checking to see if accessing n bytes starting at address
> "ptr" will cause a wraparound in the memory addresses, the check in
> check_bogus_address() adds an extra byte, which is incorrect, as the
> range of addresses that will be accessed is [ptr, ptr + (n - 1)].
> 
> This can lead to incorrectly detecting a wraparound in the memory
> address, when trying to read 4 KB from memory that is mapped to the the
> last possible page in the virtual address space, when in fact, accessing
> that range of memory would not cause a wraparound to occur.
> 
> Use the memory range that will actually be accessed when considering if
> accessing a certain amount of bytes will cause the memory address to
> wrap around.
> 
> Link: http://lkml.kernel.org/r/1564509253-23287-1-git-send-email-isaacm@xxxxxxxxxxxxxx
> Fixes: f5509cc18daa ("mm: Hardened usercopy")
> Signed-off-by: Prasad Sodagudi <psodagud@xxxxxxxxxxxxxx>
> Signed-off-by: Isaac J. Manjarres <isaacm@xxxxxxxxxxxxxx>
> Co-developed-by: Prasad Sodagudi <psodagud@xxxxxxxxxxxxxx>
> Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx>
> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Trilok Soni <tsoni@xxxxxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> [kees: backport to v4.14]
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>

This and the 4.9 patch now queued up, thanks for the backports.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux