[PATCH v2] drivers: base: Remove statistics group if encryption group not created

Ewan D. Milne posted 1 patch 1 week, 5 days ago
drivers/base/transport_class.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH v2] drivers: base: Remove statistics group if encryption group not created
Posted by Ewan D. Milne 1 week, 5 days ago
If transport_add_class_device() gets an error from sysfs_create_group() when
creating the encryption group, it does not remove the statistics group in
the error path.  Adjust the error path to do this properly.

v2: Only remove statistics group if tcont->statistics is non-NULL

Fixes: bd2bc528691e ("scsi: scsi_transport_fc: Introduce encryption group")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-6
Signed-off-by: Ewan D. Milne <emilne@redhat.com>
---
 drivers/base/transport_class.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/base/transport_class.c b/drivers/base/transport_class.c
index 416e9f819df5..351c3d3ce6a0 100644
--- a/drivers/base/transport_class.c
+++ b/drivers/base/transport_class.c
@@ -168,11 +168,14 @@ static int transport_add_class_device(struct attribute_container *cont,
 	if (tcont->encryption) {
 		error = sysfs_create_group(&classdev->kobj, tcont->encryption);
 		if (error)
-			goto err_del;
+			goto err_del_statistics;
 	}
 
 	return 0;
 
+err_del_statistics:
+	if (tcont->statistics)
+		sysfs_remove_group(&classdev->kobj, tcont->statistics);
 err_del:
 	attribute_container_class_device_del(classdev);
 err_remove:
-- 
2.52.0
Re: [PATCH v2] drivers: base: Remove statistics group if encryption group not created
Posted by Justin Tee 1 week, 5 days ago
Reviewed-by: Justin Tee <justin.tee@broadcom.com>

Regards,
Justin