1. 18 May, 2015 1 commit
    • Lukas Czerner's avatar
      ext4: allocate entire range in zero range · dd0d0692
      Lukas Czerner authored
      commit 0f2af21a upstream.
      
      Currently there is a bug in zero range code which causes zero range
      calls to only allocate block aligned portion of the range, while
      ignoring the rest in some cases.
      
      In some cases, namely if the end of the range is past i_size, we do
      attempt to preallocate the last nonaligned block. However this might
      cause kernel to BUG() in some carefully designed zero range requests
      on setups where page size > block size.
      
      Fix this problem by first preallocating the entire range, including
      the nonaligned edges and converting the written extents to unwritten
      in the next step. This approach will also give us the advantage of
      having the range to be as linearly contiguous as possible.
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reference: CVE-2015-0275
      Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
      dd0d0692
  2. 11 May, 2015 8 commits
  3. 06 May, 2015 31 commits