Re: [PATCH 11/33] arm_mpam: Add the class and component structures for firmware described ris

From: Fenghua Yu

Date: Wed Nov 12 2025 - 22:24:05 EST


Hi, Ben and James,

On 11/7/25 04:34, Ben Horgan wrote:
From: James Morse <james.morse@xxxxxxx>

[SNIP]

+static int mpam_ris_create_locked(struct mpam_msc *msc, u8 ris_idx,
+ enum mpam_class_types type, u8 class_id,
+ int component_id)
+{
+ int err;
+ struct mpam_vmsc *vmsc;
+ struct mpam_msc_ris *ris;
+ struct mpam_class *class;
+ struct mpam_component *comp;
+ struct platform_device *pdev = msc->pdev;
+
+ lockdep_assert_held(&mpam_list_lock);
+
+ if (ris_idx > MPAM_MSC_MAX_NUM_RIS)
+ return -EINVAL;
+
+ if (test_and_set_bit(ris_idx, &msc->ris_idxs))
+ return -EBUSY;
+
+ ris = devm_kzalloc(&msc->pdev->dev, sizeof(*ris), GFP_KERNEL);
+ if (!ris)
+ return -ENOMEM;

The ris_idx bit in msc->ris_idxs is not cleared on error paths in this function. The bit cannot be set again.

Not sure if this is a real problem in any case. Clearing the bit on error paths may be clean code.

[SNIP]

Thanks.

-Fenghua