]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ipmi: make ipmi_destroy_user() return void
authorVitaliy Shevtsov <v.shevtsov@maxima.ru>
Wed, 25 Dec 2024 01:45:30 +0000 (01:45 +0000)
committerCorey Minyard <corey@minyard.net>
Fri, 3 Jan 2025 03:11:52 +0000 (21:11 -0600)
Return value of ipmi_destroy_user() has no meaning, because it's always
zero and callers can do nothing with it. And in most cases it's not
checked. So make this function return void. This also will eliminate static
code analyzer warnings such as unreachable code/redundant comparison when
the return value is checked against non-zero value.

Found by Linux Verification Center (linuxtesting.org) with Svace.

Signed-off-by: Vitaliy Shevtsov <v.shevtsov@maxima.ru>
Message-ID: <20241225014532.20091-1-v.shevtsov@maxima.ru>
Signed-off-by: Corey Minyard <corey@minyard.net>
drivers/char/ipmi/ipmi_devintf.c
drivers/char/ipmi/ipmi_msghandler.c
drivers/char/ipmi/ipmi_poweroff.c
drivers/char/ipmi/ipmi_watchdog.c
include/linux/ipmi.h

index 332082e02ea54bdbd9c8a752272c59d803a9d71a..e6ba35b71f10ff6101056f0a3384aa7fa3f34459 100644 (file)
@@ -122,12 +122,9 @@ out:
 static int ipmi_release(struct inode *inode, struct file *file)
 {
        struct ipmi_file_private *priv = file->private_data;
-       int                      rv;
        struct ipmi_recv_msg *msg, *next;
 
-       rv = ipmi_destroy_user(priv->user);
-       if (rv)
-               return rv;
+       ipmi_destroy_user(priv->user);
 
        list_for_each_entry_safe(msg, next, &priv->recv_msgs, link)
                ipmi_free_recv_msg(msg);
index e12b531f5c2f338008a42dc2c35b0a62395c9f3c..1e5313748f8b52110520e3223b7bdfab89da7ca4 100644 (file)
@@ -1398,13 +1398,11 @@ static void _ipmi_destroy_user(struct ipmi_user *user)
        module_put(owner);
 }
 
-int ipmi_destroy_user(struct ipmi_user *user)
+void ipmi_destroy_user(struct ipmi_user *user)
 {
        _ipmi_destroy_user(user);
 
        kref_put(&user->refcount, free_user);
-
-       return 0;
 }
 EXPORT_SYMBOL(ipmi_destroy_user);
 
index 941d2dcc8c9dc7a9bd4404a048a9f8ac6e550299..05f17e3e6207bb9d4f7e4f4ae7fbe8cc5a1edcf1 100644 (file)
@@ -699,8 +699,6 @@ static int __init ipmi_poweroff_init(void)
 #ifdef MODULE
 static void __exit ipmi_poweroff_cleanup(void)
 {
-       int rv;
-
 #ifdef CONFIG_PROC_FS
        unregister_sysctl_table(ipmi_table_header);
 #endif
@@ -708,9 +706,7 @@ static void __exit ipmi_poweroff_cleanup(void)
        ipmi_smi_watcher_unregister(&smi_watcher);
 
        if (ready) {
-               rv = ipmi_destroy_user(ipmi_user);
-               if (rv)
-                       pr_err("could not cleanup the IPMI user: 0x%x\n", rv);
+               ipmi_destroy_user(ipmi_user);
                pm_power_off = old_poweroff_func;
        }
 }
index 9a459257489f0d657dc4be7feebedfb716f789e4..c9bcda571d7ad397afb651668e553d2b77d72f33 100644 (file)
@@ -1065,7 +1065,6 @@ static void ipmi_register_watchdog(int ipmi_intf)
 
 static void ipmi_unregister_watchdog(int ipmi_intf)
 {
-       int rv;
        struct ipmi_user *loc_user = watchdog_user;
 
        if (!loc_user)
@@ -1090,9 +1089,7 @@ static void ipmi_unregister_watchdog(int ipmi_intf)
        mutex_lock(&ipmi_watchdog_mutex);
 
        /* Disconnect from IPMI. */
-       rv = ipmi_destroy_user(loc_user);
-       if (rv)
-               pr_warn("error unlinking from IPMI: %d\n",  rv);
+       ipmi_destroy_user(loc_user);
 
        /* If it comes back, restart it properly. */
        ipmi_start_timer_on_heartbeat = 1;
index a1c9c0d48ebf65248f161a5e39ee065d4e929910..2f74dd90c271f3ecbd94e892a10d4ddc9f9b0868 100644 (file)
@@ -126,7 +126,7 @@ int ipmi_create_user(unsigned int          if_num,
  * the users before you destroy the callback structures, it should be
  * safe, too.
  */
-int ipmi_destroy_user(struct ipmi_user *user);
+void ipmi_destroy_user(struct ipmi_user *user);
 
 /* Get the IPMI version of the BMC we are talking to. */
 int ipmi_get_version(struct ipmi_user *user,