aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorDaniel Wagner <wagi@monom.org>2018-05-02 21:58:32 +0200
committerDaniel Wagner <wagi@monom.org>2018-05-02 21:58:32 +0200
commite78e3e04262c0ab1e091f69e3a47326cc1b05ae1 (patch)
tree0010e5c54e5abee88c2bd6beddb54e68372db2ac /block
parente650c36988747f830716cb8bf51452f53832c850 (diff)
parent2cad7a1d1316d2955982c50b3b9a6809dff5a7d3 (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.c4
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 */