diff options
| author | Linus Torvalds <[email protected]> | 2011-04-07 14:35:50 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2011-04-07 14:35:51 +0000 |
| commit | 982134ba62618c2d69fbbbd166d0a11ee3b7e3d8 (patch) | |
| tree | 32aae4719abbd338864ab6faf9e8ebbfc38b1600 /drivers/usb/core/buffer.c | |
| parent | Linux 2.6.39-rc2 (diff) | |
| download | kernel-982134ba62618c2d69fbbbd166d0a11ee3b7e3d8.tar.gz kernel-982134ba62618c2d69fbbbd166d0a11ee3b7e3d8.zip | |
mm: avoid wrapping vm_pgoff in mremap()
The normal mmap paths all avoid creating a mapping where the pgoff
inside the mapping could wrap around due to overflow. However, an
expanding mremap() can take such a non-wrapping mapping and make it
bigger and cause a wrapping condition.
Noticed by Robert Swiecki when running a system call fuzzer, where it
caused a BUG_ON() due to terminally confusing the vma_prio_tree code. A
vma dumping patch by Hugh then pinpointed the crazy wrapped case.
Reported-and-tested-by: Robert Swiecki <[email protected]>
Acked-by: Hugh Dickins <[email protected]>
Cc: [email protected]
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'drivers/usb/core/buffer.c')
0 files changed, 0 insertions, 0 deletions
