Add SPDX identifiers matching explicit existing grants: GPL-2.0-only,
GPL-2.0-or-later, or the GPL version 2 / Linux-OpenIB choice. Preserve
all original copyright and license notices, including the MD5 type
header.
Linux-OpenIB identifies the two BSD conditions with the MIT disclaimer;
BSD-2-Clause would not describe that text. The three one-line userspace
debug inclusion files identify the GPL-2.0-only source they contain.
Leave ambiguous or absent version grants for a provenance decision. This
identifies existing licenses and does not change their terms.
Checkpatch reports SPDX_LICENSE_TAG:
Missing or malformed SPDX-License-Identifier tag in line 1
Normalize userspace indentation, operator spacing, pointer placement,
continuation alignment and long declarations, calls and expressions.
Keep changes at existing argument/operator boundaries and retain
literal contents, operand evaluation order and preprocessor branches.
Keep conditional directives at column zero; align their continued
operands independently.
Checkpatch reports SPACING, CODE_INDENT, POINTER_LOCATION. One example:
No space is necessary after a cast
Checkpatch reports SUSPECT_CODE_INDENT:
suspect code indent for conditional statements (24, 40)
Checkpatch reports SPACING, PARENTHESIS_ALIGNMENT, LINE_SPACING. One
example:
spaces preferred around that '|' (ctx:VxV)
Checkpatch reports BLOCK_COMMENT_STYLE, OPEN_BRACE. One example:
Block comments use * on subsequent lines
Checkpatch reports INDENTED_LABEL, PARENTHESIS_ALIGNMENT. One example:
labels should not be indented
Checkpatch reports PARENTHESIS_ALIGNMENT, SWITCH_CASE_INDENT_LEVEL. One
example:
Alignment should match open parenthesis
Checkpatch reports LONG_LINE:
line length of 125 exceeds 100 columns
Checkpatch reports OPEN_ENDED_LINE:
Lines should not end with a '('
Use direct pointer truth tests, put scalar constants on the right and
remove redundant parentheses from conditions and address expressions.
Preserve required precedence, dereferenced-pointer semantics and
short-circuit evaluation. Keep preprocessor expressions and disabled
debug alternatives intact.
Use __func__ for unchanged parameter-error diagnostics and correct the
byte-order diagnostic spelling.
Source review also identified eight negated negative-index tests in
the daemon's parameter lookup chains. Use explicit >= 0 comparisons
while retaining assignment order and short-circuit evaluation. This
readability cleanup does not remove assignment-in-condition findings.
Checkpatch reports COMPARISON_TO_NULL:
Comparison to NULL could be written "target"
Checkpatch reports UNNECESSARY_PARENTHESES:
Unnecessary parentheses around tlv->value
Checkpatch reports CONSTANT_COMPARISON, COMPARISON_TO_NULL. One example:
Comparisons should place the constant on the right side of the test
Checkpatch reports CONSTANT_COMPARISON, EMBEDDED_FUNCTION_NAME,
TYPO_SPELLING. One example:
Comparisons should place the constant on the right side of the test
Use distinct names for parser arguments, local descriptors, trace flags
and iSNS send/receive transaction IDs. Rename the process-wide SRPT RDMA
listener so connection-specific IDs do not shadow it.
Remove initial values replaced unconditionally before use and the
impossible fgets NULL branch. Retain configuration-dependent
initializers, listener lifetime and every connection ID passed to RDMA
operations.
Cppcheck reports shadowArgument, redundantInitialization. One example:
Local variable 'pp' shadows outer argument
Cppcheck reports shadowVariable, unreadVariable. One example:
Argument 'trace_flag' shadows outer variable
Coccinelle misc/cond_no_effect.cocci reports:
usr/include/debug.c:121:1-3:
WARNING: possible condition with no effect (if == else)
Buffer tracing prints the same final line whether or not a full row has
already been printed. Remove that conditional and its unused j state.
Also remove the identical immediate/non-immediate branches in fileio
cache synchronization. Both branches already call exec_fsync, so retain
that call and the TODO for future background execution. This second
cleanup was found while reviewing the same pattern; it is not a separate
finding in the current report.
The trace output and synchronous cache-flush behavior are unchanged.