diff options
author | Hristo Venev <hristo@venev.name> | 2023-04-01 23:01:35 +0300 |
---|---|---|
committer | Jes Sorensen <jes@trained-monkey.org> | 2023-04-10 11:24:55 -0400 |
commit | 1c6f2a1dbfe17df14dd5b062fc53a60c5c387e47 (patch) | |
tree | 9870cc5ab1fa2afe75c69702cd009aedc5347d3f | |
parent | 890212d6800646153210ac264ce73035cc7dd5cc (diff) | |
download | mdadm-1c6f2a1dbfe17df14dd5b062fc53a60c5c387e47.tar.gz |
super1: fix truncation check for journal device
The journal device can be smaller than the component devices.
Fixes: 171e9743881e ("super1: report truncated device")
Signed-off-by: Hristo Venev <hristo@venev.name>
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-rw-r--r-- | super1.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -2359,8 +2359,9 @@ static int load_super1(struct supertype *st, int fd, char *devname) if (st->minor_version >= 1 && st->ignore_hw_compat == 0 && - (dsize < (__le64_to_cpu(super->data_offset) + - __le64_to_cpu(super->size)) + ((role_from_sb(super) != MD_DISK_ROLE_JOURNAL && + dsize < (__le64_to_cpu(super->data_offset) + + __le64_to_cpu(super->size))) || dsize < (__le64_to_cpu(super->data_offset) + __le64_to_cpu(super->data_size)))) { |