diff options
| author | Arnaldo Carvalho de Melo <[email protected]> | 2022-03-14 22:15:16 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2022-03-14 22:15:16 +0000 |
| commit | 65eab2bc7dab326ee892ec5a4c749470b368b51a (patch) | |
| tree | 341189a55a3d021db7f1c8a8e5b4772b6c782c25 /fs/btrfs/lzo.c | |
| parent | perf tools: Set build-id using build-id header on new mmap records (diff) | |
| parent | Linux 5.17-rc8 (diff) | |
| download | kernel-65eab2bc7dab326ee892ec5a4c749470b368b51a.tar.gz kernel-65eab2bc7dab326ee892ec5a4c749470b368b51a.zip | |
Merge remote-tracking branch 'torvalds/master' into perf/core
To pick up fixes that went thru perf/urgent.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'fs/btrfs/lzo.c')
| -rw-r--r-- | fs/btrfs/lzo.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c index 0fb90cbe7669..e6e28a9c7987 100644 --- a/fs/btrfs/lzo.c +++ b/fs/btrfs/lzo.c @@ -380,6 +380,17 @@ int lzo_decompress_bio(struct list_head *ws, struct compressed_bio *cb) kunmap(cur_page); cur_in += LZO_LEN; + if (seg_len > lzo1x_worst_compress(PAGE_SIZE)) { + /* + * seg_len shouldn't be larger than we have allocated + * for workspace->cbuf + */ + btrfs_err(fs_info, "unexpectedly large lzo segment len %u", + seg_len); + ret = -EIO; + goto out; + } + /* Copy the compressed segment payload into workspace */ copy_compressed_segment(cb, workspace->cbuf, seg_len, &cur_in); |
