In gfs2_rbm_find, fix the resource group wrap-around logic that commit e579ed4f44 broke. Without this fix, gfs2_rbm_find can end up in an infinite loop in the worst case. Fixes: e579ed4f44 ("GFS2: Introduce rbm field bii") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> --- fs/gfs2/rgrp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index b08a530433adf..8d79165703621 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1780,9 +1780,9 @@ static int gfs2_rbm_find(struct gfs2_rbm *rbm, u8 state, u32 *minext, goto next_iter; } if (ret == -E2BIG) { + n += rbm->bii - initial_bii; rbm->bii = 0; rbm->offset = 0; - n += (rbm->bii - initial_bii); goto res_covered_end_of_rgrp; } return ret; -- 2.19.1.546.g028f9c799.dirty