Re: [PATCH 2/2] ufs: rpmb: use a fixed-length RPMB dev_id

From: Bean Huo

Date: Wed Aug 05 2026 - 12:56:39 EST


On Wed, 2026-07-15 at 23:39 +0200, Jorge Ramirez-Ortiz wrote:
> @@ -156,6 +158,7 @@ int ufs_rpmb_probe(struct ufs_hba *hba)
>  {
>         struct ufs_rpmb_dev *ufs_rpmb, *it, *tmp;
>         struct rpmb_dev *rdev;
> +       char *dev_id = NULL;
>         char *cid = NULL;
>         int region;
>         u32 cap;
> @@ -215,8 +218,17 @@ int ufs_rpmb_probe(struct ufs_hba *hba)
>                         goto err_out;
>                 }
>  
> -               descr.dev_id = cid;
> -               descr.dev_id_len = strlen(cid);
> +               dev_id = kzalloc(UFS_RPMB_ID_LEN, GFP_KERNEL);
> +               if (!dev_id) {
> +                       device_unregister(&ufs_rpmb->dev);
> +                       ret = -ENOMEM;
> +                       goto err_out;
> +               }


since rpmb_dev_register() kmemdups dev_id, can we use this:


u8 dev_id[UFS_RPMB_ID_LEN];
blake2b(NULL, 0, cid, strlen(cid), dev_id, UFS_RPMB_ID_LEN);
descr.dev_id = dev_id;
descr.dev_id_len = UFS_RPMB_ID_LEN;

 
then you could drop allocation and its error branch and both kfree()?


Kind regards,
Bean