[Bug 98261] New: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=98261

            Bug ID: 98261
           Summary: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c:
                    bfa_cb_sfp_state_query
           Product: SCSI Drivers
           Version: 2.5
    Kernel Version: 4.0.3
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Other
          Assignee: scsi_drivers-other@xxxxxxxxxxxxxxxxxxxx
          Reporter: dmalcolm@xxxxxxxxxx
        Regression: No

In linux-4.0.3/drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query, the
indentation doesn't reflect the actual block structure:

  3659  static void
  3660  bfa_cb_sfp_state_query(struct bfa_sfp_s *sfp)
  3661  {
  3662          bfa_trc(sfp, sfp->portspeed);
  3663          if (sfp->media) {
  3664                  bfa_sfp_media_get(sfp);
  3665                  if (sfp->state_query_cbfn)
  3666                          sfp->state_query_cbfn(sfp->state_query_cbarg,
  3667                                          sfp->status);
  3668                          sfp->media = NULL;
  3669                  }
  3670  
  3671                  if (sfp->portspeed) {
  3672                          sfp->status = bfa_sfp_speed_valid(sfp,
sfp->portspeed);
  3673                          if (sfp->state_query_cbfn)
  3674                                 
sfp->state_query_cbfn(sfp->state_query_cbarg,
  3675                                                  sfp->status);
  3676                                  sfp->portspeed =
BFA_PORT_SPEED_UNKNOWN;
  3677                  }
  3678  
  3679                  sfp->state_query_lock = 0;
  3680                  sfp->state_query_cbfn = NULL;
  3681  }

Note how the "if" at line 3665 does not have an opening brace.  Lines 3666-3668
are indented as if guarded by it, but only lines 3666-3667 are.  The closing
brace at line 3669 looks from the indentation as if it relates to line 3665,
but it actually relates to line 3663.

Hence although lines 3671 onwards are indented as if guarded by the "if" at
line 3663, they are not.

There's also an issue at line 3676, which is indented as if guarded by the "if"
at line 3673, but isn't.

Seen via an experimental new gcc warning I'm working on for gcc 6,
-Wmisleading-indentation, using gcc r223098 adding
-Werror=misleading-indentation" to KBUILD_CFLAGS in Makefile, where the
experimental gcc emits these errors:

drivers/scsi/bfa/bfa_ioc.c: In function ‘bfa_cb_sfp_state_query’:
drivers/scsi/bfa/bfa_ioc.c:3668:4: error: statement is indented as if it were
guarded by... [-Werror=misleading-indentation]
    sfp->media = NULL;
    ^
drivers/scsi/bfa/bfa_ioc.c:3665:3: note: ...this ‘if’ clause, but it is not
   if (sfp->state_query_cbfn)
   ^
drivers/scsi/bfa/bfa_ioc.c:3676:5: error: statement is indented as if it were
guarded by... [-Werror=misleading-indentation]
     sfp->portspeed = BFA_PORT_SPEED_UNKNOWN;
     ^
drivers/scsi/bfa/bfa_ioc.c:3673:4: note: ...this ‘if’ clause, but it is not
    if (sfp->state_query_cbfn)
    ^

-- 
You are receiving this mail because:
You are watching the assignee of the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux