You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
6 years ago
|
From 6eb3a6579768458c13c26958e1cc3fbffe2ada70 Mon Sep 17 00:00:00 2001
|
||
|
From: Nate Clark <nate@neworld.us>
|
||
|
Date: Wed, 4 Jan 2017 15:21:17 -0500
|
||
|
Subject: [PATCH 175/176] libblkid/minix: Sanity check superblock s_state for v
|
||
|
1 and 2
|
||
|
|
||
|
Swap devices with specific values in the uuid can look like minix
|
||
|
devices to blkid. Add an extra check to make sure the state of the
|
||
|
filesystem has valid state flags.
|
||
|
|
||
|
A couple of offending swap uuids include:
|
||
|
35f1f264-137f-471a-bc85-acc9f4bc04a3
|
||
|
35f1f264-7f13-471a-bc85-acc9f4bc04a3
|
||
|
35f1f264-138f-471a-bc85-acc9f4bc04a3
|
||
|
35f1f264-8f13-471a-bc85-acc9f4bc04a3
|
||
|
|
||
|
Without this change a swap device with any of those uuids would be
|
||
|
detected as minix and swap by blkid.
|
||
|
|
||
|
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1594681
|
||
|
Upstream: http://github.com/karelzak/util-linux/commit/892553b1a41b449f58462f123eca2bf2c6c56b33
|
||
|
Signed-off-by: Nate Clark <nate@neworld.us>
|
||
|
---
|
||
|
libblkid/src/superblocks/minix.c | 4 ++++
|
||
|
1 file changed, 4 insertions(+)
|
||
|
|
||
|
diff --git a/libblkid/src/superblocks/minix.c b/libblkid/src/superblocks/minix.c
|
||
|
index a20d51f2c..4e70fda8f 100644
|
||
|
--- a/libblkid/src/superblocks/minix.c
|
||
|
+++ b/libblkid/src/superblocks/minix.c
|
||
|
@@ -93,6 +93,10 @@ static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
|
||
|
if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
|
||
|
return 1;
|
||
|
|
||
|
+ uint16_t state = minix_swab16(swabme, sb->s_state);
|
||
|
+ if ((state & (MINIX_VALID_FS | MINIX_ERROR_FS)) != state)
|
||
|
+ return 1;
|
||
|
+
|
||
|
zones = version == 2 ? minix_swab32(swabme, sb->s_zones) :
|
||
|
minix_swab16(swabme, sb->s_nzones);
|
||
|
ninodes = minix_swab16(swabme, sb->s_ninodes);
|
||
|
--
|
||
|
2.14.4
|
||
|
|