• Shenghui Wang's avatar
    bcache: avoid potential memleak of list of journal_replay(s) in the CACHE_SYNC... · 95f18c9d
    Shenghui Wang authored
    bcache: avoid potential memleak of list of journal_replay(s) in the CACHE_SYNC branch of run_cache_set
    
    In the CACHE_SYNC branch of run_cache_set(), LIST_HEAD(journal) is used
    to collect journal_replay(s) and filled by bch_journal_read().
    
    If all goes well, bch_journal_replay() will release the list of
    jounal_replay(s) at the end of the branch.
    
    If something goes wrong, code flow will jump to the label "err:" and leave
    the list unreleased.
    
    This patch will release the list of journal_replay(s) in the case of
    error detected.
    
    v1 -> v2:
    * Move the release code to the location after label 'err:' to
      simply the change.
    Signed-off-by: default avatarShenghui Wang <shhuiw@foxmail.com>
    Signed-off-by: default avatarColy Li <colyli@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    95f18c9d
super.c 62.5 KB