summaryrefslogtreecommitdiffstats
path: root/disk-utils/fsck.cramfs.c
diff options
context:
space:
mode:
authorRuediger Meier2014-05-19 00:43:53 +0200
committerRuediger Meier2014-05-19 09:19:29 +0200
commitf991dbd31f409f6bec8f2b84065f820936b6b4cb (patch)
tree90e377ba0d9537df87fa9754c439e72490f07cdf /disk-utils/fsck.cramfs.c
parenttests, fix cramfs for systems with certain page sizes (diff)
downloadkernel-qcow2-util-linux-f991dbd31f409f6bec8f2b84065f820936b6b4cb.tar.gz
kernel-qcow2-util-linux-f991dbd31f409f6bec8f2b84065f820936b6b4cb.tar.xz
kernel-qcow2-util-linux-f991dbd31f409f6bec8f2b84065f820936b6b4cb.zip
fsck.cramfs: allow smaller superblock sizes
We are already fine with checking for different endianess. Now we also succeed if systems's page size does not match. Note that page_size is only really used if INCLUDE_FS_TESTS is defined, see followups. Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'disk-utils/fsck.cramfs.c')
-rw-r--r--disk-utils/fsck.cramfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/disk-utils/fsck.cramfs.c b/disk-utils/fsck.cramfs.c
index 66523f4de..00ea2ab56 100644
--- a/disk-utils/fsck.cramfs.c
+++ b/disk-utils/fsck.cramfs.c
@@ -189,7 +189,8 @@ static void test_super(int *start, size_t * length)
if (super.flags & ~CRAMFS_SUPPORTED_FLAGS)
errx(FSCK_EX_ERROR, _("unsupported filesystem features"));
- if (super.size < page_size)
+ /* What are valid superblock sizes? */
+ if (super.size < sizeof(struct cramfs_super))
errx(FSCK_EX_UNCORRECTED, _("superblock size (%d) too small"),
super.size);