• Phillip Lougher's avatar
    Squashfs: add mount time sanity check for block_size and block_log match · 4b0180a4
    Phillip Lougher authored
    Squashfs currently has a sanity check for block_size less than or
    equal to the maximum block_size (1 Mbyte).  This catches some
    superblock corruption, but obviously with a block_size maximum
    of 1 Mbyte there's 7 correct values (4K, 8K, 16K, 32K, ... etc) and
    a lot of incorrect values which are not caught by this check.
    
    The Squashfs superblock, however, has both a block_size and
    a block_log (2^block_log == block_size).  Checking that the block_size
    matches the block_log is a much more robust check.  Corruption of the
    superblock is unlikely to produce values which match, and it also
    ensures the block_size is an exact power of two.
    Signed-off-by: default avatarPhillip Lougher <phillip@squashfs.org.uk>
    4b0180a4
super.c 13.6 KB