dcavalca / rpms / util-linux

Forked from rpms/util-linux 2 years ago
Clone

Blame SOURCES/0151-libblkid-minix-Sanity-check-superblock-s_state-for-v.patch

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