]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 4 Oct 2020 18:04:26 +0000 (19:04 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2020 18:18:49 +0000 (19:18 +0100)
commitb0f6ea857986f0f5adf19050d8c93480c6eb83ef
treedced6f61b90af3763ed11162065ac025efd51f3b
parentbc2d96b3061ad35150c4db14661e91916766f241
btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch

commit a1fbc6750e212c5675a4e48d7f51d44607eb8756 upstream.

On 32-bit systems, this shift will overflow for files larger than 4GB as
start_index is unsigned long while the calls to btrfs_delalloc_*_space
expect u64.

CC: stable@vger.kernel.org # 4.4+
Fixes: df480633b891 ("btrfs: extent-tree: Switch to new delalloc space reserve and release")
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: David Sterba <dsterba@suse.com>
[ define the variable instead of repeating the shift ]
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/ioctl.c