On Wed, Sep 21, 2022 at 08:04:45PM +0200, Christoph Hellwig wrote: > When blk_throtl_init fails, we need to call blk_ioprio_exit. Switch to > proper goto based unwinding to fix this. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > block/blk-cgroup.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) Reviewed-by: Andreas Herrmann <aherrmann@xxxxxxx> > diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c > index 869af9d72bcf8..3a88f8c011d27 100644 > --- a/block/blk-cgroup.c > +++ b/block/blk-cgroup.c > @@ -1297,17 +1297,18 @@ int blkcg_init_queue(struct request_queue *q) > > ret = blk_throtl_init(q); > if (ret) > - goto err_destroy_all; > + goto err_ioprio_exit; > > ret = blk_iolatency_init(q); > - if (ret) { > - blk_throtl_exit(q); > - blk_ioprio_exit(q); > - goto err_destroy_all; > - } > + if (ret) > + goto err_throtl_exit; > > return 0; > > +err_throtl_exit: > + blk_throtl_exit(q); > +err_ioprio_exit: > + blk_ioprio_exit(q); > err_destroy_all: > blkg_destroy_all(q); > return ret; > -- > 2.30.2 > -- Regards, Andreas SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nürnberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman (HRB 36809, AG Nürnberg)