summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mount/swapon.c3
-rw-r--r--shlibs/blkid/src/superblocks/swap.c12
2 files changed, 14 insertions, 1 deletions
diff --git a/mount/swapon.c b/mount/swapon.c
index d8fad0bfa..a2dd9dc26 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 e2b0db9f1..325a8fafa 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 }
}
};