diff options
-rw-r--r-- | .github/workflows/checkstyle.yaml | 2 | ||||
-rw-r--r-- | cmd/zdb/zdb.c | 2 | ||||
-rw-r--r-- | include/sys/zstd/zstd.h | 2 | ||||
-rw-r--r-- | module/Makefile.in | 4 | ||||
-rw-r--r-- | module/nvpair/nvpair.c | 6 | ||||
-rw-r--r-- | module/os/freebsd/zfs/vdev_geom.c | 1 | ||||
-rw-r--r-- | module/os/linux/spl/spl-generic.c | 1 | ||||
-rw-r--r-- | module/unicode/u8_textprep.c | 4 | ||||
-rwxr-xr-x | scripts/mancheck.sh | 20 |
9 files changed, 32 insertions, 10 deletions
diff --git a/.github/workflows/checkstyle.yaml b/.github/workflows/checkstyle.yaml index 14a921099..553d5df39 100644 --- a/.github/workflows/checkstyle.yaml +++ b/.github/workflows/checkstyle.yaml @@ -6,7 +6,7 @@ on: jobs: checkstyle: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index 81b9604f3..e2680fd36 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -4148,7 +4148,7 @@ cksum_record_compare(const void *x1, const void *x2) const cksum_record_t *l = (cksum_record_t *)x1; const cksum_record_t *r = (cksum_record_t *)x2; int arraysize = ARRAY_SIZE(l->cksum.zc_word); - int difference; + int difference = 0; for (int i = 0; i < arraysize; i++) { difference = TREE_CMP(l->cksum.zc_word[i], r->cksum.zc_word[i]); diff --git a/include/sys/zstd/zstd.h b/include/sys/zstd/zstd.h index e87dda1b1..ca32a7464 100644 --- a/include/sys/zstd/zstd.h +++ b/include/sys/zstd/zstd.h @@ -210,12 +210,14 @@ zfs_get_hdrversion(const zfs_zstdhdr_t *blob) static inline void zfs_set_hdrversion(zfs_zstdhdr_t *blob, uint32_t version) { + /* cppcheck-suppress syntaxError */ BF32_SET(blob->raw_version_level, 0, 24, version); } static inline void zfs_set_hdrlevel(zfs_zstdhdr_t *blob, uint8_t level) { + /* cppcheck-suppress syntaxError */ BF32_SET(blob->raw_version_level, 24, 8, level); } diff --git a/module/Makefile.in b/module/Makefile.in index 8538dd9d6..b15ab9109 100644 --- a/module/Makefile.in +++ b/module/Makefile.in @@ -115,7 +115,9 @@ modules_uninstall: modules_uninstall-@ac_system@ cppcheck-Linux: @CPPCHECK@ -j@CPU_COUNT@ --std=c99 --quiet --force --error-exitcode=2 \ - --inline-suppr --suppress=noValidConfiguration \ + --inline-suppr \ + --suppress=unmatchedSuppression \ + --suppress=noValidConfiguration \ --enable=warning,information -D_KERNEL \ --include=@LINUX_OBJ@/include/generated/autoconf.h \ --include=@top_srcdir@/zfs_config.h \ diff --git a/module/nvpair/nvpair.c b/module/nvpair/nvpair.c index 5f427c8cf..9834dedd8 100644 --- a/module/nvpair/nvpair.c +++ b/module/nvpair/nvpair.c @@ -533,12 +533,14 @@ nvt_add_nvpair(nvlist_t *nvl, nvpair_t *nvp) uint64_t index = hash & (priv->nvp_nbuckets - 1); ASSERT3U(index, <, priv->nvp_nbuckets); + // cppcheck-suppress nullPointerRedundantCheck i_nvp_t *bucket = tab[index]; /* insert link at the beginning of the bucket */ i_nvp_t *new_entry = NVPAIR2I_NVP(nvp); ASSERT3P(new_entry->nvi_hashtable_next, ==, NULL); new_entry->nvi_hashtable_next = bucket; + // cppcheck-suppress nullPointerRedundantCheck tab[index] = new_entry; priv->nvp_nentries++; @@ -3270,6 +3272,8 @@ NVS_BUILD_XDRPROC_T(u_longlong_t); static int nvs_xdr_nvp_op(nvstream_t *nvs, nvpair_t *nvp) { + ASSERT(nvs != NULL && nvp != NULL); + data_type_t type; char *buf; char *buf_end = (char *)nvp + nvp->nvp_size; @@ -3278,7 +3282,7 @@ nvs_xdr_nvp_op(nvstream_t *nvs, nvpair_t *nvp) bool_t ret = FALSE; XDR *xdr = nvs->nvs_private; - ASSERT(xdr != NULL && nvp != NULL); + ASSERT(xdr != NULL); /* name string */ if ((buf = NVP_NAME(nvp)) >= buf_end) diff --git a/module/os/freebsd/zfs/vdev_geom.c b/module/os/freebsd/zfs/vdev_geom.c index 4ffa21495..2ef4811a8 100644 --- a/module/os/freebsd/zfs/vdev_geom.c +++ b/module/os/freebsd/zfs/vdev_geom.c @@ -199,7 +199,6 @@ vdev_geom_orphan(struct g_consumer *cp) * async removal support to invoke a close on this * vdev once it is safe to do so. */ - // cppcheck-suppress All SLIST_FOREACH(elem, priv, elems) { // cppcheck-suppress uninitvar vdev_t *vd = elem->vd; diff --git a/module/os/linux/spl/spl-generic.c b/module/os/linux/spl/spl-generic.c index 91eeaccfd..5ea4fc635 100644 --- a/module/os/linux/spl/spl-generic.c +++ b/module/os/linux/spl/spl-generic.c @@ -657,6 +657,7 @@ hostid_read(uint32_t *hostid) return (error); } size = stat.size; + // cppcheck-suppress sizeofwithnumericparameter if (size < sizeof (HW_HOSTID_MASK)) { filp_close(filp, 0); return (EINVAL); diff --git a/module/unicode/u8_textprep.c b/module/unicode/u8_textprep.c index c1d9a325f..bce5f1962 100644 --- a/module/unicode/u8_textprep.c +++ b/module/unicode/u8_textprep.c @@ -865,7 +865,9 @@ do_decomp(size_t uv, uchar_t *u8s, uchar_t *s, int sz, start_id = u8_decomp_b4_16bit_tbl[uv][b3_tbl][b4]; end_id = u8_decomp_b4_16bit_tbl[uv][b3_tbl][b4 + 1]; } else { + // cppcheck-suppress arrayIndexOutOfBoundsCond start_id = u8_decomp_b4_tbl[uv][b3_tbl][b4]; + // cppcheck-suppress arrayIndexOutOfBoundsCond end_id = u8_decomp_b4_tbl[uv][b3_tbl][b4 + 1]; } @@ -1012,7 +1014,9 @@ find_composition_start(size_t uv, uchar_t *s, size_t sz) start_id = u8_composition_b4_16bit_tbl[uv][b3_tbl][b4]; end_id = u8_composition_b4_16bit_tbl[uv][b3_tbl][b4 + 1]; } else { + // cppcheck-suppress arrayIndexOutOfBoundsCond start_id = u8_composition_b4_tbl[uv][b3_tbl][b4]; + // cppcheck-suppress arrayIndexOutOfBoundsCond end_id = u8_composition_b4_tbl[uv][b3_tbl][b4 + 1]; } diff --git a/scripts/mancheck.sh b/scripts/mancheck.sh index 6ae1fc5be..0793cc48f 100755 --- a/scripts/mancheck.sh +++ b/scripts/mancheck.sh @@ -11,7 +11,9 @@ # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # -# shellcheck disable=SC2086 +# shellcheck disable=SC2086,SC2250 + +trap 'rm -f "$stdout_file" "$stderr_file" "$result_file"' EXIT if [ "$#" -eq 0 ]; then echo "Usage: $0 manpage-directory..." @@ -25,7 +27,6 @@ fi IFS=" " - files="$(find "$@" -type f -name '*[1-9]*')" || exit 1 add_excl="$(awk ' @@ -38,6 +39,15 @@ add_excl="$(awk ' # Redirect to file instead of 2>&1ing because mandoc flushes inconsistently(?) which tears lines # https://github.com/openzfs/zfs/pull/12129/checks?check_run_id=2701608671#step:5:3 -etmp="$(mktemp)" -! { mandoc -Tlint $files 2>"$etmp"; cat "$etmp"; rm -f "$etmp"; } | - grep -vE -e 'mandoc: outdated mandoc.db' -e 'STYLE: referenced manual not found' $add_excl >&2 +stdout_file="$(mktemp)" +stderr_file="$(mktemp)" +mandoc -Tlint $files 1>"$stdout_file" 2>"$stderr_file" +result_file="$(mktemp)" +grep -vhE -e 'mandoc: outdated mandoc.db' -e 'STYLE: referenced manual not found' $add_excl "$stdout_file" "$stderr_file" > "$result_file" + +if [ -s "$result_file" ]; then + cat "$result_file" + exit 1 +else + echo "no errors found" +fi |