Commit 30e9e055 authored by Eran Ben Elisha's avatar Eran Ben Elisha Committed by Saeed Mahameed
Browse files

net/mlxfw: Verify FSM error code translation doesn't exceed array size



Array mlxfw_fsm_state_err_str contains value to string translation, when
values are provided by mlxfw_dev. If value is larger than
MLXFW_FSM_STATE_ERR_MAX, return "unknown error" as expected instead of
reading an address than exceed array size.

Fixes: 410ed13c ("Add the mlxfw module for Mellanox firmware flash process")
Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent b7eca940
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -66,6 +66,8 @@ retry:
		return err;
		return err;


	if (fsm_state_err != MLXFW_FSM_STATE_ERR_OK) {
	if (fsm_state_err != MLXFW_FSM_STATE_ERR_OK) {
		fsm_state_err = min_t(enum mlxfw_fsm_state_err,
				      fsm_state_err, MLXFW_FSM_STATE_ERR_MAX);
		pr_err("Firmware flash failed: %s\n",
		pr_err("Firmware flash failed: %s\n",
		       mlxfw_fsm_state_err_str[fsm_state_err]);
		       mlxfw_fsm_state_err_str[fsm_state_err]);
		NL_SET_ERR_MSG_MOD(extack, "Firmware flash failed");
		NL_SET_ERR_MSG_MOD(extack, "Firmware flash failed");