diff options
author | Scott Talbert <scott.talbert@hgst.com> | 2016-05-09 09:14:28 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-06-07 18:18:55 -0700 |
commit | 7281989d24e3e286ab745f0f5a75ab8ac761854d (patch) | |
tree | a3dbd2d2f8d88fcaa007d01eed821ee8068dea06 /fs | |
parent | b9cd7ba4dd03492246c2a717854803699bcad174 (diff) | |
download | lwn-7281989d24e3e286ab745f0f5a75ab8ac761854d.tar.gz lwn-7281989d24e3e286ab745f0f5a75ab8ac761854d.zip |
btrfs: fix memory leak during RAID 5/6 device replacement
commit 4673272f43ae790ab9ec04e38a7542f82bb8f020 upstream.
A 'struct bio' is allocated in scrub_missing_raid56_pages(), but it was never
freed anywhere.
Signed-off-by: Scott Talbert <scott.talbert@hgst.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/scrub.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 160ac3e23270..ee046f6fffe0 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -2125,6 +2125,8 @@ static void scrub_missing_raid56_end_io(struct bio *bio) if (bio->bi_error) sblock->no_io_error_seen = 0; + bio_put(bio); + btrfs_queue_work(fs_info->scrub_workers, &sblock->work); } |