Commit 555317d6 authored by Cristian Marussi's avatar Cristian Marussi Committed by Sudeep Holla
Browse files

firmware: arm_scmi: Fix NULL dereference on notify error path



Since commit b5daf93b ("firmware: arm_scmi: Avoid notifier
registration for unsupported events") the call chains leading to the helper
__scmi_event_handler_get_ops expect an ERR_PTR to be returned on failure to
get an handler for the requested event key, while the current helper can
still return a NULL when no handler could be found or created.

Fix by forcing an ERR_PTR return value when the handler reference is NULL.

Fixes: b5daf93b ("firmware: arm_scmi: Avoid notifier registration for unsupported events")
Signed-off-by: default avatarCristian Marussi <cristian.marussi@arm.com>
Reviewed-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Message-Id: <20260305131011.541444-1-cristian.marussi@arm.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@kernel.org>
parent 879c001a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1066,7 +1066,7 @@ static int scmi_register_event_handler(struct scmi_notify_instance *ni,
 * since at creation time we usually want to have all setup and ready before
 * events really start flowing.
 *
 * Return: A properly refcounted handler on Success, NULL on Failure
 * Return: A properly refcounted handler on Success, ERR_PTR on Failure
 */
static inline struct scmi_event_handler *
__scmi_event_handler_get_ops(struct scmi_notify_instance *ni,
@@ -1113,7 +1113,7 @@ __scmi_event_handler_get_ops(struct scmi_notify_instance *ni,
	}
	mutex_unlock(&ni->pending_mtx);

	return hndl;
	return hndl ?: ERR_PTR(-ENODEV);
}

static struct scmi_event_handler *