1
0

ipmi: Disable sysfs access and requests in maintenance mode

If the driver goes into any maintenance mode, disable sysfs access until
it is done.

If the driver goes into reset maintenance mode, disable all messages
until it is done.

Signed-off-by: Corey Minyard <corey@minyard.net>
Tested-by: Frederick Lawler <fred@cloudflare.com>
This commit is contained in:
Corey Minyard
2025-08-07 16:05:24 -05:00
parent e5feb030d9
commit 30f6c9d545

View File

@@ -2319,6 +2319,11 @@ static int i_ipmi_request(struct ipmi_user *user,
if (!run_to_completion)
mutex_lock(&intf->users_mutex);
if (intf->maintenance_mode_state == IPMI_MAINTENANCE_MODE_STATE_RESET) {
/* No messages while the BMC is in reset. */
rv = -EBUSY;
goto out_err;
}
if (intf->in_shutdown) {
rv = -ENODEV;
goto out_err;
@@ -2615,6 +2620,12 @@ retry_bmc_lock:
(bmc->dyn_id_set && time_is_after_jiffies(bmc->dyn_id_expiry)))
goto out_noprocessing;
/* Don't allow sysfs access when in maintenance mode. */
if (intf->maintenance_mode_state) {
rv = -EBUSY;
goto out_noprocessing;
}
prev_guid_set = bmc->dyn_guid_set;
__get_guid(intf);