On Sat, Oct 26, 2024 at 06:26:58PM +0800, Gaosheng Cui wrote:
> The function ec_new_stripe_head_alloc() returns nullptr if kzalloc()
> fails. It is crucial to verify its return value before dereferencing
> it to avoid a potential nullptr dereference.
>
> Fixes: 035d72f72c91 ("bcachefs: bch2_ec_stripe_head_get() now checks for
> change in rw devices")
> Signed-off-by: Gaosheng Cui <[email protected]>
Thanks, applied
> ---
> fs/bcachefs/ec.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c
> index 25d20f73df60..b24089733467 100644
> --- a/fs/bcachefs/ec.c
> +++ b/fs/bcachefs/ec.c
> @@ -1859,6 +1859,10 @@ __bch2_ec_stripe_head_get(struct btree_trans *trans,
> }
>
> h = ec_new_stripe_head_alloc(c, disk_label, algo, redundancy,
> watermark);
> + if (!h) {
> + h = ERR_PTR(-ENOMEM);
> + goto err;
> + }
> found:
> if (h->rw_devs_change_count != c->rw_devs_change_count)
> ec_stripe_head_devs_update(c, h);
> --
> 2.25.1
>