diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c index dd8b02a2a14a..4c210b2ac699 100644 --- a/fs/btrfs/file-item.c +++ b/fs/btrfs/file-item.c @@ -700,7 +700,9 @@ blk_status_t btrfs_csum_one_bio(struct btrfs_inode *inode, struct bio *bio, sums = kvzalloc(btrfs_ordered_sum_size(fs_info, bytes_left), GFP_KERNEL); memalloc_nofs_restore(nofs_flag); - BUG_ON(!sums); /* -ENOMEM */ + if (!sums) + return BLK_STS_RESOURCE; + sums->len = bytes_left; ordered = btrfs_lookup_ordered_extent(inode, offset);