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