]> asedeno.scripts.mit.edu Git - linux.git/commit
fibmap: Reject negative block numbers
authorCarlos Maiolino <cmaiolino@redhat.com>
Thu, 9 Jan 2020 13:30:45 +0000 (14:30 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 3 Feb 2020 13:05:58 +0000 (08:05 -0500)
commit324282c0252a44a97d628813e30ea7258940d469
treea22618816695a6fa7e078319ba003be102bba12f
parent0d89fdae2afe833dd3025edd8c8287675d45c74e
fibmap: Reject negative block numbers

FIBMAP receives an integer from userspace which is then implicitly converted
into sector_t to be passed to bmap(). No check is made to ensure userspace
didn't send a negative block number, which can end up in an underflow, and
returning to userspace a corrupted block address.

As a side-effect, the underflow caused by a negative block here, will
trigger the WARN() in iomap_bmap_actor(), which is how this issue was
first discovered.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ioctl.c