lkml.org 
[lkml]   [2019]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 285/413] bcache: destroy dc->writeback_write_wq if failed to create dc->writeback_thread
    Date
    From: Coly Li <colyli@suse.de>

    commit f54d801dda14942dbefa00541d10603015b7859c upstream.

    Commit 9baf30972b55 ("bcache: fix for gc and write-back race") added a
    new work queue dc->writeback_write_wq, but forgot to destroy it in the
    error condition when creating dc->writeback_thread failed.

    This patch destroys dc->writeback_write_wq if kthread_create() returns
    error pointer to dc->writeback_thread, then a memory leak is avoided.

    Fixes: 9baf30972b55 ("bcache: fix for gc and write-back race")
    Signed-off-by: Coly Li <colyli@suse.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/md/bcache/writeback.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/md/bcache/writeback.c
    +++ b/drivers/md/bcache/writeback.c
    @@ -834,6 +834,7 @@ int bch_cached_dev_writeback_start(struc
    "bcache_writeback");
    if (IS_ERR(dc->writeback_thread)) {
    cached_dev_put(dc);
    + destroy_workqueue(dc->writeback_write_wq);
    return PTR_ERR(dc->writeback_thread);
    }
    dc->writeback_running = true;

    \
     
     \ /
      Last update: 2019-07-24 22:39    [W:8.351 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site