From 1e9d7291e50178699b87656488912eba235c7679 Mon Sep 17 00:00:00 2001 From: Timofey Titovets Date: Tue, 30 May 2017 02:18:04 +0300 Subject: [PATCH] Btrfs: lzo: compressed data size must be less then input size Logic already skips if compression makes data bigger, let's sync lzo with zlib and also return error if compressed size is equal to input size. Signed-off-by: Timofey Titovets Reviewed-by: David Sterba [ update changelog ] Signed-off-by: David Sterba --- fs/btrfs/lzo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c index a554856a5f8a..7e8b0d6a7961 100644 --- a/fs/btrfs/lzo.c +++ b/fs/btrfs/lzo.c @@ -230,8 +230,10 @@ static int lzo_compress_pages(struct list_head *ws, in_len = min(bytes_left, PAGE_SIZE); } - if (tot_out > tot_in) + if (tot_out >= tot_in) { + ret = -E2BIG; goto out; + } /* store the size of all chunks of compressed data */ cpage_out = kmap(pages[0]); -- 2.30.2