diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2018-11-11 11:15:21 +0000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-16 11:35:09 -0600 |
commit | c26b5aa8ef0d46035060fded475e6ab957b9f69f (patch) | |
tree | 469f981b657c1bc9ed005d96c97b8fb86b2fcb25 /fs/ext4/super.c | |
parent | e7445ceddfc220c1aede6d42758a5acb8844e9c3 (diff) | |
download | linux-c26b5aa8ef0d46035060fded475e6ab957b9f69f.tar.bz2 |
gfs2: Fix iomap buffer head reference counting bug
GFS2 passes the inode buffer head (dibh) from gfs2_iomap_begin to
gfs2_iomap_end in iomap->private. It sets that private pointer in
gfs2_iomap_get. Users of gfs2_iomap_get other than gfs2_iomap_begin
would have to release iomap->private, but this isn't done correctly,
leading to a leak of buffer head references.
To fix this, move the code for setting iomap->private from
gfs2_iomap_get to gfs2_iomap_begin.
Fixes: 64bc06bb32 ("gfs2: iomap buffered write support")
Cc: stable@vger.kernel.org # v4.19+
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/ext4/super.c')
0 files changed, 0 insertions, 0 deletions