From: Karel Zak Date: Mon, 29 Nov 2010 09:26:18 +0000 (+0100) Subject: libblkid: add LINHIB0001 signature to swap prober X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a16af58c5b3625e6e5a1a487bdf5521cb9646c2;p=util-linux libblkid: add LINHIB0001 signature to swap prober The new swsuspend signature has been added by commit 3624eb04c24861ab296842414f9752a393e68372 to kernel 2.6.37-rc1. Reported-by: "Dr. David Alan Gilbert" Addresses: https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/682176 Signed-off-by: Karel Zak --- diff --git a/mount/swapon.c b/mount/swapon.c index d8fad0bf..a2dd9dc2 100644 --- a/mount/swapon.c +++ b/mount/swapon.c @@ -298,7 +298,8 @@ swap_detect_signature(const char *buf, int *sig) else if (memcmp(buf, "S1SUSPEND", 9) == 0 || memcmp(buf, "S2SUSPEND", 9) == 0 || memcmp(buf, "ULSUSPEND", 9) == 0 || - memcmp(buf, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8) == 0) + memcmp(buf, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8) == 0 || + memcmp(buf, "LINHIB0001", 10) == 0) *sig = SIG_SWSUSPEND; else return 0; diff --git a/shlibs/blkid/src/superblocks/swap.c b/shlibs/blkid/src/superblocks/swap.c index e2b0db9f..325a8faf 100644 --- a/shlibs/blkid/src/superblocks/swap.c +++ b/shlibs/blkid/src/superblocks/swap.c @@ -102,6 +102,8 @@ static int probe_swsuspend(blkid_probe pr, const struct blkid_idmag *mag) return swap_set_info(pr, "ulsuspend"); if (!memcmp(mag->magic, TOI_MAGIC_STRING, mag->len)) return swap_set_info(pr, "tuxonice"); + if (!memcmp(mag->magic, "LINHIB0001", mag->len)) + return swap_set_info(pr, "linhib0001"); return -1; /* no signature detected */ } @@ -141,18 +143,28 @@ const struct blkid_idinfo swsuspend_idinfo = { "S1SUSPEND", 9, 0, 0xff6 }, { "S2SUSPEND", 9, 0, 0xff6 }, { "ULSUSPEND", 9, 0, 0xff6 }, + { "LINHIB0001",10,0, 0xff6 }, + { "S1SUSPEND", 9, 0, 0x1ff6 }, { "S2SUSPEND", 9, 0, 0x1ff6 }, { "ULSUSPEND", 9, 0, 0x1ff6 }, + { "LINHIB0001",10,0, 0x1ff6 }, + { "S1SUSPEND", 9, 0, 0x3ff6 }, { "S2SUSPEND", 9, 0, 0x3ff6 }, { "ULSUSPEND", 9, 0, 0x3ff6 }, + { "LINHIB0001",10,0, 0x3ff6 }, + { "S1SUSPEND", 9, 0, 0x7ff6 }, { "S2SUSPEND", 9, 0, 0x7ff6 }, { "ULSUSPEND", 9, 0, 0x7ff6 }, + { "LINHIB0001",10,0, 0x7ff6 }, + { "S1SUSPEND", 9, 0, 0xfff6 }, { "S2SUSPEND", 9, 0, 0xfff6 }, { "ULSUSPEND", 9, 0, 0xfff6 }, + { "LINHIB0001",10,0, 0xfff6 }, + { NULL } } };