From: Kent Overstreet Date: Tue, 28 Feb 2023 03:30:54 +0000 (-0500) Subject: bcachefs: ec: Ensure new stripe is closed in error path X-Git-Tag: io_uring-6.7-2023-11-10~119^2~467 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=a64adedb8663ded044e535159b2e723a04396845;p=linux-block.git bcachefs: ec: Ensure new stripe is closed in error path This fixes a use-after-free bug. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index 88f319992c37..cb291b2a4dd8 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -1107,8 +1107,6 @@ static void ec_stripe_create(struct ec_stripe_new *s) bch2_err_str(ret)); goto err; } - - bch2_stripe_close(c, s); err: bch2_disk_reservation_put(c, &s->res); @@ -1124,6 +1122,8 @@ err: } } + bch2_stripe_close(c, s); + ec_stripe_buf_exit(&s->existing_stripe); ec_stripe_buf_exit(&s->new_stripe); closure_debug_destroy(&s->iodone);