stratisd-3.9.0~pre-202507221410git652d5e52

List of Findings

Error: SHELLCHECK_WARNING (CWE-457): [#def1]
/usr/lib/dracut/modules.d/90stratis-clevis/module-setup.sh:27:3: warning[SC2154]: systemdutildir is referenced but not assigned.
#   25|   		clevis-luks-common-functions \
#   26|   		mktemp \
#   27|-> 		$systemdutildir/system-generators/stratis-clevis-setup-generator ||
#   28|   		return 1
#   29|   	require_any_binary tpm2_pcrread tpm2_pcrlist || return 1

Error: SHELLCHECK_WARNING: [#def2]
/usr/lib/dracut/modules.d/90stratis-clevis/module-setup.sh:41:23: error[SC2283]: Remove spaces around = to assign (or use [ ] to compare, or quote '=' if literal).
#   39|   # called by dracut
#   40|   installkernel() {
#   41|-> 	hostonly='' instmods =drivers/char/tpm
#   42|   }
#   43|   

Error: SHELLCHECK_WARNING (CWE-457): [#def3]
/usr/lib/dracut/modules.d/90stratis-clevis/module-setup.sh:72:15: warning[SC2154]: moddir is referenced but not assigned.
#   70|   	# Dracut dependencies
#   71|   	inst_multiple $systemdutildir/system-generators/stratis-clevis-setup-generator
#   72|-> 	inst_simple "$moddir/stratis-clevis-rootfs-setup" $systemdutildir/stratis-clevis-rootfs-setup
#   73|   }

Error: SHELLCHECK_WARNING (CWE-829): [#def4]
/usr/lib/dracut/modules.d/90stratis-clevis/stratis-clevis-rootfs-setup:18:4: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   16|   done
#   17|   
#   18|-> if $(stratis-min pool is-stopped "$STRATIS_ROOTFS_UUID"); then
#   19|   	if $(stratis-min pool is-bound "$STRATIS_ROOTFS_UUID"); then
#   20|   		if ! stratis-min pool start --token-slot=any "$STRATIS_ROOTFS_UUID"; then

Error: SHELLCHECK_WARNING (CWE-829): [#def5]
/usr/lib/dracut/modules.d/90stratis-clevis/stratis-clevis-rootfs-setup:19:5: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   17|   
#   18|   if $(stratis-min pool is-stopped "$STRATIS_ROOTFS_UUID"); then
#   19|-> 	if $(stratis-min pool is-bound "$STRATIS_ROOTFS_UUID"); then
#   20|   		if ! stratis-min pool start --token-slot=any "$STRATIS_ROOTFS_UUID"; then
#   21|   			echo Failed to start pool with UUID $STRATIS_ROOTFS_UUID using an unattended unlock method. >&2

Error: SHELLCHECK_WARNING (CWE-457): [#def6]
/usr/lib/dracut/modules.d/90stratis/module-setup.sh:7:3: warning[SC2154]: systemdutildir is referenced but not assigned.
#    5|   	require_binaries stratis-min \
#    6|   		/usr/libexec/stratisd-min \
#    7|-> 		$systemdutildir/system-generators/stratis-setup-generator \
#    8|   		thin_check \
#    9|   		thin_repair \

Error: SHELLCHECK_WARNING (CWE-457): [#def7]
/usr/lib/dracut/modules.d/90stratis/module-setup.sh:52:14: warning[SC2154]: moddir is referenced but not assigned.
#   50|   	inst_multiple $systemdutildir/system-generators/stratis-setup-generator
#   51|   
#   52|-> 	inst_rules "$moddir/61-stratisd.rules"
#   53|   	inst_simple "$moddir/stratisd-min.service" $systemdutildir/system/stratisd-min.service
#   54|   	inst_simple "$moddir/stratis-rootfs-setup" $systemdutildir/stratis-rootfs-setup

Error: SHELLCHECK_WARNING (CWE-829): [#def8]
/usr/lib/dracut/modules.d/90stratis/stratis-rootfs-setup:18:4: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   16|   done
#   17|   
#   18|-> if $(stratis-min pool is-stopped "$STRATIS_ROOTFS_UUID"); then
#   19|   	if $(stratis-min pool has-passphrase "$STRATIS_ROOTFS_UUID"); then
#   20|   		ATTEMPTS_REMAINING=3

Error: SHELLCHECK_WARNING (CWE-829): [#def9]
/usr/lib/dracut/modules.d/90stratis/stratis-rootfs-setup:19:5: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   17|   
#   18|   if $(stratis-min pool is-stopped "$STRATIS_ROOTFS_UUID"); then
#   19|-> 	if $(stratis-min pool has-passphrase "$STRATIS_ROOTFS_UUID"); then
#   20|   		ATTEMPTS_REMAINING=3
#   21|   		if

Error: SHELLCHECK_WARNING (CWE-829): [#def10]
/usr/lib/dracut/modules.d/90stratis/stratis-rootfs-setup:31:7: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   29|   		fi
#   30|   	fi
#   31|-> 	if ! $(stratis-min pool is-encrypted "$STRATIS_ROOTFS_UUID"); then
#   32|   		if ! stratis-min pool start "$STRATIS_ROOTFS_UUID"; then
#   33|   			echo Failed to start pool with UUID $STRATIS_ROOTFS_UUID >&2

Error: SHELLCHECK_WARNING (CWE-829): [#def11]
/usr/lib/systemd/stratis-fstab-setup:20:4: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   18|   done
#   19|   
#   20|-> if $(stratis-min pool is-stopped "$POOL_UUID"); then
#   21|   	if $(stratis-min pool is-bound "$POOL_UUID"); then
#   22|   		if stratis-min pool start --token-slot=any "$POOL_UUID"; then

Error: SHELLCHECK_WARNING (CWE-829): [#def12]
/usr/lib/systemd/stratis-fstab-setup:21:5: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   19|   
#   20|   if $(stratis-min pool is-stopped "$POOL_UUID"); then
#   21|-> 	if $(stratis-min pool is-bound "$POOL_UUID"); then
#   22|   		if stratis-min pool start --token-slot=any "$POOL_UUID"; then
#   23|   			exit 0

Error: SHELLCHECK_WARNING (CWE-829): [#def13]
/usr/lib/systemd/stratis-fstab-setup:28:5: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   26|   		fi
#   27|   	fi
#   28|-> 	if $(stratis-min pool has-passphrase "$POOL_UUID"); then
#   29|   		if systemd-ask-password \
#   30|   			"Enter password for pool with UUID $POOL_UUID" |

Error: SHELLCHECK_WARNING (CWE-829): [#def14]
/usr/lib/systemd/stratis-fstab-setup:37:7: warning[SC2091]: Remove surrounding $() to avoid executing output (or use eval if intentional).
#   35|   		fi
#   36|   	fi
#   37|-> 	if ! $(stratis-min pool is-encrypted "$POOL_UUID"); then
#   38|   		if stratis-min pool start "$POOL_UUID"; then
#   39|   			exit 0

Error: CLIPPY_WARNING: [#def15]
src/engine/strat_engine/backstore/blockdev/mod.rs:145:12: warning: associated function `from_bd` is never used
#      |
#  144 | impl LockedBlockdev {
#      | ------------------- associated function in this implementation
#  145 |     pub fn from_bd(bd: &dyn BlockDev) -> Self {
#      |            ^^^^^^^
#      |
#      = note: `-D dead-code` implied by `-D unused`
#      = help: to override `-D unused` add `#[allow(dead_code)]`

Error: CLIPPY_WARNING: [#def16]
src/engine/strat_engine/backstore/blockdev/mod.rs:169:9: warning: called `.as_ref().map(|s| s.as_str())` on an `Option` value
#      |
#  169 |         self.user_info.as_ref().map(|s| s.as_str())
#      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using as_deref: `self.user_info.as_deref()`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref
#      = note: `-D clippy::option-as-ref-deref` implied by `-D clippy::all`
#      = help: to override `-D clippy::all` add `#[allow(clippy::option_as_ref_deref)]`

Error: CLIPPY_WARNING: [#def17]
src/engine/strat_engine/backstore/blockdev/mod.rs:173:9: warning: called `.as_ref().map(|s| s.as_str())` on an `Option` value
#      |
#  173 |         self.hardware_info.as_ref().map(|s| s.as_str())
#      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using as_deref: `self.hardware_info.as_deref()`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref

Error: CLIPPY_WARNING: [#def18]
src/engine/strat_engine/backstore/blockdev/mod.rs:185:9: warning: using `clone` on type `Option<Sectors>` which implements the `Copy` trait
#      |
#  185 |         self.new_size.clone()
#      |         ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.new_size`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
#      = note: `-D clippy::clone-on-copy` implied by `-D clippy::all`
#      = help: to override `-D clippy::all` add `#[allow(clippy::clone_on_copy)]`

Error: CLIPPY_WARNING: [#def19]
src/engine/strat_engine/pool/mod.rs:39:1: warning: more than 3 bools in a struct
#     |
#  39 | / pub struct LockedPool {
#  40 | |     blockdevs: Vec<(DevUuid, BlockDevTier, LockedBlockdev)>,
#  41 | |     filesystems: Vec<(Name, FilesystemUuid, LockedFilesystem)>,
#  42 | |     total_physical_size: Sectors,
#  ...  |
#  56 | |     volume_key_is_loaded: StratisResult<bool>,
#  57 | | }
#     | |_^
#     |
#     = help: consider using a state machine or refactoring bools into two-variant enums
#     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#struct_excessive_bools
#     = note: requested on the command line with `-D clippy::struct-excessive-bools`

Error: CLIPPY_WARNING: [#def20]
src/engine/strat_engine/pool/mod.rs:60:8: warning: associated function `from_pool` is never used
#     |
#  59 | impl LockedPool {
#     | --------------- associated function in this implementation
#  60 |     fn from_pool(p: &dyn Pool, pool_uuid: PoolUuid) -> Self {
#     |        ^^^^^^^^^

Error: CLIPPY_WARNING: [#def21]
src/engine/strat_engine/pool/mod.rs:197:9: warning: using `clone` on type `Option<Sectors>` which implements the `Copy` trait
#      |
#  197 |         self.total_physical_used.clone()
#      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.total_physical_used`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

Error: CLIPPY_WARNING: [#def22]
src/engine/strat_engine/thinpool/filesystem.rs:615:12: warning: associated function `from_fs` is never used
#      |
#  614 | impl LockedFilesystem {
#      | --------------------- associated function in this implementation
#  615 |     pub fn from_fs(fs: &dyn Filesystem) -> Self {
#      |            ^^^^^^^

Error: CLIPPY_WARNING: [#def23]
src/engine/strat_engine/thinpool/filesystem.rs:650:9: warning: using `clone` on type `Option<Sectors>` which implements the `Copy` trait
#      |
#  650 |         self.size_limit.clone()
#      |         ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.size_limit`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

Error: CLIPPY_WARNING: [#def24]
src/engine/strat_engine/thinpool/filesystem.rs:654:9: warning: using `clone` on type `Option<FilesystemUuid>` which implements the `Copy` trait
#      |
#  654 |         self.origin.clone()
#      |         ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.origin`
#      |
#      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

Scan Properties

analyzer-version-clippy1.88.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.1.1
analyzer-version-gcc-analyzer15.1.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-178.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namestratisd-3.9.0~pre-202507221410git652d5e52
store-results-to/tmp/tmpupov42zj/stratisd-3.9.0~pre-202507221410git652d5e52.tar.xz
time-created2025-07-22 14:43:53
time-finished2025-07-22 14:52:45
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,shellcheck,cppcheck,clippy,gcc' '-o' '/tmp/tmpupov42zj/stratisd-3.9.0~pre-202507221410git652d5e52.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpupov42zj/stratisd-3.9.0~pre-202507221410git652d5e52.src.rpm'
tool-versioncsmock-3.8.2-1.el9