1. 03 Jan, 2012 1 commit
    • Phillip Lougher's avatar
      Squashfs: fix i_blocks calculation with extended regular files · 3d4a1c80
      Phillip Lougher authored
      
      The le64_to_cpu() forces the calculation to be unsigned, with
      the effect that it can underflow leading to an incorrect large
      value.
      
      This bug only triggers in rare(ish) circumstances, an empty file
      encoded as an extended regular file or a completely sparse file.
      Normally empty files are encoded as a regular file rather than as
      an extended regular file (and the regular file i_blocks calculation
      doesn't have this bug).  To save space regular file inodes are
      optimised to encode the most commonly occurring files.  Less
      common regular files are encoded using extended regular file inodes
      which contain extra information.
      
      Empty files with nlinks greater than 1, and or empty files
      with extended attributes are encoded using extended regular file
      inodes and they will hit this bug.
      Signed-off-by: default avatarPhillip Lougher <phillip@squashfs.org.uk>
      3d4a1c80
  2. 02 Nov, 2011 1 commit
  3. 26 May, 2011 1 commit
  4. 17 May, 2010 2 commits
  5. 20 Jan, 2010 1 commit
  6. 05 Mar, 2009 1 commit
  7. 05 Jan, 2009 1 commit