linux-stable/fs/gfs2
Bob Peterson fc936fae1b gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps
commit f0b444b349 upstream.

In function sweep_bh_for_rgrps, which is a helper for punch_hole,
it uses variable buf_in_tr to keep track of when it needs to commit
pending block frees on a partial delete that overflows the
transaction created for the delete. The problem is that the
variable was initialized at the start of function sweep_bh_for_rgrps
but it was never cleared, even when starting a new transaction.

This patch reinitializes the variable when the transaction is
ended, so the next transaction starts out with it cleared.

Fixes: d552a2b9b3 ("GFS2: Non-recursive delete")
Cc: stable@vger.kernel.org # v4.12+
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-05 12:48:08 +02:00
..
acl.c gfs2: preserve i_mode if __gfs2_set_acl() fails 2017-08-31 07:53:15 -05:00
acl.h
aops.c gfs2: forcibly flush ail to relieve memory pressure 2017-08-10 10:51:03 -05:00
bmap.c gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps 2019-10-05 12:48:08 +02:00
bmap.h
dentry.c
dir.c We've got a whopping 29 GFS2 patches for this merge window, mainly 2017-09-06 11:42:31 -07:00
dir.h
export.c
file.c gfs2: Fix fallocate chunk size 2018-05-30 07:52:35 +02:00
gfs2.h
glock.c gfs2: Fix occasional glock use-after-free 2019-05-31 06:47:14 -07:00
glock.h gfs2: gfs2_evict_inode: Put glocks asynchronously 2017-08-10 10:45:21 -05:00
glops.c Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 18:54:01 -07:00
glops.h
incore.h gfs2: Silence gcc format-truncation warning 2017-08-25 10:59:21 -05:00
inode.c gfs2: Get rid of potential double-freeing in gfs2_create_inode 2019-01-13 10:01:05 +01:00
inode.h
Kconfig
lock_dlm.c gfs2: Fix sign extension bug in gfs2_update_stats 2019-05-31 06:47:11 -07:00
log.c gfs2: Fix occasional glock use-after-free 2019-05-31 06:47:14 -07:00
log.h
lops.c gfs2: Fix occasional glock use-after-free 2019-05-31 06:47:14 -07:00
lops.h
main.c
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
meta_io.c Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-block 2017-09-07 11:59:42 -07:00
meta_io.h
ops_fstype.c gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd 2018-12-01 09:42:51 +01:00
quota.c Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 18:54:01 -07:00
quota.h gfs2: Fix fallocate chunk size 2018-05-30 07:52:35 +02:00
recovery.c VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb) 2017-07-17 08:45:34 +01:00
recovery.h
rgrp.c gfs2: Revert "Fix loop in gfs2_rbm_find" 2019-02-06 17:31:35 +01:00
rgrp.h
super.c Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 18:54:01 -07:00
super.h
sys.c VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb) 2017-07-17 08:45:34 +01:00
sys.h
trace_gfs2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trans.c
trans.h
util.c
util.h GFS2: Fix up some sparse warnings 2017-08-25 18:47:18 -05:00
xattr.c gfs2: don't return ENODATA in __gfs2_xattr_set unless replacing 2017-08-31 07:43:03 -05:00
xattr.h