brd: fix overflow in __brd_direct_access
The code in __brd_direct_access multiplies the pgoff variable by page size and divides it by 512. It can cause overflow on 32-bit architectures. The overflow happens if we create ramdisk larger than 4G and use it as a sparse device. This patch replaces multiplication and division with multiplication by the number of sectors per page. Reviewed-by: NDan Williams <dan.j.williams@intel.com> Signed-off-by: NMikulas Patocka <mpatocka@redhat.com> Fixes: 1647b9b9 ("brd: add dax_operations support") Cc: stable@vger.kernel.org # 4.12+ Signed-off-by: NJens Axboe <axboe@kernel.dk>
Showing
想要评论请 注册 或 登录