scsi: elx: efct: Fix pointer error checking in debugfs init
authorJames Smart <jsmart2021@gmail.com>
Fri, 18 Jun 2021 23:30:04 +0000 (16:30 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 19 Jun 2021 03:01:04 +0000 (23:01 -0400)
debugfs_create_xxx routines, which return pointers, are being checked for
error by looking for NULL values. The routines may return pointer-munged
-Exxx codes, so they should be using IS_ERR() to adapt.

There are two cases:

 - The first case is on initial directory creation, which actually doesn't
   need to be checked. So remove the check.

 - Creation of the sessions subdirectory. Modify this creation to create
   under the initial directory created, and fix failure check.

Link: https://lore.kernel.org/r/20210618233004.83769-1-jsmart2021@gmail.com
Fixes: 4df84e846624 ("scsi: elx: efct: Driver initialization routines")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/elx/efct/efct_xport.c

index 78b6a47..9495ced 100644 (file)
@@ -43,16 +43,13 @@ efct_xport_init_debugfs(struct efct *efct)
        if (!efct_debugfs_root) {
                efct_debugfs_root = debugfs_create_dir("efct", NULL);
                atomic_set(&efct_debugfs_count, 0);
-               if (!efct_debugfs_root) {
-                       efc_log_err(efct, "failed to create debugfs entry\n");
-                       goto debugfs_fail;
-               }
        }
 
        /* Create a directory for sessions in root */
        if (!efct->sess_debugfs_dir) {
-               efct->sess_debugfs_dir = debugfs_create_dir("sessions", NULL);
-               if (!efct->sess_debugfs_dir) {
+               efct->sess_debugfs_dir = debugfs_create_dir("sessions",
+                                                       efct_debugfs_root);
+               if (IS_ERR(efct->sess_debugfs_dir)) {
                        efc_log_err(efct,
                                    "failed to create debugfs entry for sessions\n");
                        goto debugfs_fail;