1. 07 Feb, 2023 1 commit
    • Vladislav Efanov's avatar
      udf: Check consistency of Space Bitmap Descriptor · 1e0d4adf
      Vladislav Efanov authored
      Bits, which are related to Bitmap Descriptor logical blocks,
      are not reset when buffer headers are allocated for them. As the
      result, these logical blocks can be treated as free and
      be used for other blocks.This can cause usage of one buffer header
      for several types of data. UDF issues WARNING in this situation:
      
      WARNING: CPU: 0 PID: 2703 at fs/udf/inode.c:2014
        __udf_add_aext+0x685/0x7d0 fs/udf/inode.c:2014
      
      RIP: 0010:__udf_add_aext+0x685/0x7d0 fs/udf/inode.c:2014
      Call Trace:
       udf_setup_indirect_aext+0x573/0x880 fs/udf/inode.c:1980
       udf_add_aext+0x208/0x2e0 fs/udf/inode.c:2067
       udf_insert_aext fs/udf/inode.c:2233 [inline]
       udf_update_extents fs/udf/inode.c:1181 [inline]
       inode_getblk+0x1981/0x3b70 fs/udf/inode.c:885
      
      Found by Linux Verification Center (linuxtesting.org) with syzkaller.
      
      [JK: Somewhat cleaned up the boundary checks]
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarVladislav Efanov <VEfanov@ispras.ru>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      1e0d4adf
  2. 26 Jan, 2023 39 commits