New: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query
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: [email protected]
Reporter: [email protected]
Regression: NoIn 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)
^Signature · 5 lines
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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html