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:   Mon, 24 Apr 2023 11:38:34 +0800
From:   Baokun Li <libaokun1@...wei.com>
To:     <linux-ext4@...r.kernel.org>
CC:     <tytso@....edu>, <adilger.kernel@...ger.ca>, <jack@...e.cz>,
        <ritesh.list@...il.com>, <linux-kernel@...r.kernel.org>,
        <yi.zhang@...wei.com>, <yangerkun@...wei.com>,
        <yukuai3@...wei.com>, <libaokun1@...wei.com>
Subject: [PATCH v4 00/12] ext4: fix WARNING in ext4_da_update_reserve_space

V1->V2:
        Modify the patch 1 description and add the Fixes tag.
        Add the patch 2 as suggested by Jan Kara.
V2->V3:
        Remove the redundant judgment of count in Patch [1].
        Rename ext4_es_alloc_should_nofail to ext4_es_must_keep.
        Split Patch [2].
        Make some functions return void to simplify the code.
V3->V4:
        using nofail preallocation.

This patch set consists of three parts:
1. Patch [1] fix WARNING in ext4_da_update_reserve_space.
2. Patch [2]-[8] fix extent tree inconsistencies that may be caused
   by memory allocation failures.
3. Patch [9]-[12] is cleanup.

Baokun Li (12):
  ext4: only update i_reserved_data_blocks on successful block
    allocation
  ext4: add a new helper to check if es must be kept
  ext4: factor out __es_alloc_extent() and __es_free_extent()
  ext4: use pre-allocated es in __es_insert_extent()
  ext4: use pre-allocated es in __es_remove_extent()
  ext4: using nofail preallocation in ext4_es_remove_extent()
  ext4: using nofail preallocation in ext4_es_insert_delayed_block()
  ext4: using nofail preallocation in ext4_es_insert_extent()
  ext4: make ext4_es_remove_extent() return void
  ext4: make ext4_es_insert_delayed_block() return void
  ext4: make ext4_es_insert_extent() return void
  ext4: make ext4_zeroout_es() return void

 fs/ext4/extents.c        |  49 +++------
 fs/ext4/extents_status.c | 207 ++++++++++++++++++++++++---------------
 fs/ext4/extents_status.h |  14 +--
 fs/ext4/indirect.c       |   8 ++
 fs/ext4/inline.c         |  12 +--
 fs/ext4/inode.c          |  49 ++-------
 6 files changed, 169 insertions(+), 170 deletions(-)

-- 
2.31.1

Powered by blists - more mailing lists