lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 28 Sep 2012 21:23:30 +0400
From:	Dmitry Monakhov <dmonakhov@...nvz.org>
To:	linux-ext4@...r.kernel.org
Subject: WARNING: at fs/ext4/extents.c:4434 ext4_convert_unwritten_extent

I've got this on 286'th MOUNT_OPTIONS=-onoload

We assumes that we are protected from ENOSPC during
ext4_convert_unwritten_extents() by passing EXT4_GET_BLOCKS_PRE_IO
on submitting AIO which split extent via ext4_split_unwritten_extents()
But this is not sufficient:


submit_aio                              Fallocate worker
 ->ext4_map_blocks(lblk, len)
   ->ext4_ext_map_blocks( )
   file: U1---------------------U2|_____EOF
     ->ext4_split_unwritten_extents
   file: U1------U1|U2---len----U2|_____EOF
              
                                       ->ext4_fallocate(lblk, len+len2)
                                          ->ext4_map_blocks()
                                             ->ext4_ext_map_blocks()
                                                         U2: Grows
                                           file: U1-------U1|U2----len+len2--U2|__EOF
  worker_tread
   ->ext4_end_io_work
     ->ext4_convert_unwritten_extents
       ->ext4_ext_handle_uninitialized_extents
            ## Discover that new split required in order to get:
            file: U1-------U1|U2----len----U2|U3--len2--U2__EOF
            This procedure fail with ENOSPC
       
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ