diff options
author | Daniel Wagner <wagi@monom.org> | 2018-05-02 21:58:32 +0200 |
---|---|---|
committer | Daniel Wagner <wagi@monom.org> | 2018-05-02 21:58:32 +0200 |
commit | e78e3e04262c0ab1e091f69e3a47326cc1b05ae1 (patch) | |
tree | 0010e5c54e5abee88c2bd6beddb54e68372db2ac /block | |
parent | e650c36988747f830716cb8bf51452f53832c850 (diff) | |
parent | 2cad7a1d1316d2955982c50b3b9a6809dff5a7d3 (diff) |
Merge tag 'v4.4.127' into v4.4-rt
This is the 4.4.127 stable release
Diffstat (limited to 'block')
-rw-r--r-- | block/partitions/msdos.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/partitions/msdos.c b/block/partitions/msdos.c index 5610cd537da7..7d8d50c11ce7 100644 --- a/block/partitions/msdos.c +++ b/block/partitions/msdos.c @@ -300,7 +300,9 @@ static void parse_bsd(struct parsed_partitions *state, continue; bsd_start = le32_to_cpu(p->p_offset); bsd_size = le32_to_cpu(p->p_size); - if (memcmp(flavour, "bsd\0", 4) == 0) + /* FreeBSD has relative offset if C partition offset is zero */ + if (memcmp(flavour, "bsd\0", 4) == 0 && + le32_to_cpu(l->d_partitions[2].p_offset) == 0) bsd_start += offset; if (offset == bsd_start && size == bsd_size) /* full parent partition, we have it already */ |