local _module
local _found
- FIPSMODULES=$(cat /etc/fipsmodules)
+ read -d '' -r FIPSMODULES < /etc/fipsmodules
fips_info "Loading and integrity checking all crypto modules"
mv /etc/modprobe.d/fips.conf /etc/modprobe.d/fips.conf.bak
installkernel() {
local _fipsmodules _mod _bootfstype
if [[ -f "${srcmods}/modules.fips" ]]; then
- _fipsmodules="$(cat "${srcmods}/modules.fips")"
+ read -d '' -r _fipsmodules < "${srcmods}/modules.fips"
else
_fipsmodules=""
case "$netif" in
??:??:??:??:??:??) # MAC address
for i in /sys/class/net/*/address; do
- mac=$(cat "$i")
+ read -r mac < "$i"
if [ "$mac" = "$netif" ]; then
i=${i%/address}
netif=${i##*/}
# or it finished execution but failed dhcp on that interface.
if [ $retv -eq 127 ]; then
- pid=$(cat /tmp/dhclient."$netif".pid)
+ read -r pid < /tmp/dhclient."$netif".pid
info "PID $pid was not found by wait for $netif"
if [ -e /tmp/dhclient."$netif".lease ]; then
info "PID $pid not found but DHCP successful on $netif"
# Kill all existing dhclient calls for other interfaces, since we
# already got one successful interface
- npid=$(cat /tmp/dhclient."$netif".pid)
+ read -r npid < /tmp/dhclient."$netif".pid
pidlist=$(pgrep dhclient)
for pid in $pidlist; do
[ "$pid" -eq "$npid" ] && continue
ip link set dev "$slave" down
(
unset TEAM_PORT_CONFIG
- _hwaddr=$(cat "/sys/class/net/$slave/address")
+ read -r _hwaddr < "/sys/class/net/$slave/address"
_subchannels=$(iface_get_subchannels "$slave")
if [ -n "$_hwaddr" ] && [ -e "/etc/sysconfig/network-scripts/mac-${_hwaddr}.conf" ]; then
# shellcheck disable=SC1090
if [ -z "$NO_AUTO_DHCP" ] && [ ! -e "/tmp/net.${netif}.up" ]; then
ret=1
if [ -e /tmp/net.bootdev ]; then
- BOOTDEV=$(cat /tmp/net.bootdev)
+ read -r BOOTDEV < /tmp/net.bootdev
if [ "$netif" = "$BOOTDEV" ] || [ "$BOOTDEV" = "$(cat "/sys/class/net/${netif}/address")" ]; then
do_dhcp
ret=$?
fi
if [ -e /tmp/net.bootdev ]; then
- bootdev=$(cat /tmp/net.bootdev)
+ read -r bootdev < /tmp/net.bootdev
fi
# shellcheck disable=SC2016
local _name_assign_type="0"
[ -f "/sys/class/net/$_netif/name_assign_type" ] \
- && _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type" 2> /dev/null)
+ && read -r _name_assign_type < "/sys/class/net/$_netif/name_assign_type" 2> /dev/null
# NET_NAME_ENUM 1
[ "$_name_assign_type" = "1" ] && return 1
local _name_assign_type="1"
if [ -e "/sys/class/net/$_netif/name_assign_type" ]; then
- _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type")
+ read -r _name_assign_type < "/sys/class/net/$_netif/name_assign_type"
case "$_name_assign_type" in
2 | 3 | 4)
case "$netif" in
??:??:??:??:??:??) # MAC address
for i in /sys/class/net/*/address; do
- mac=$(cat "$i")
+ read -r mac < "$i"
if [ "$mac" = "$netif" ]; then
i=${i%/address}
netif=${i##*/}
# shellcheck disable=SC1090
[ -e /tmp/team."${netif}".info ] && . /tmp/team."${netif}".info
- uuid=$(cat /proc/sys/kernel/random/uuid)
+ read -r uuid < /proc/sys/kernel/random/uuid
if [ "$netif" = "$bridgename" ]; then
bridge=yes
elif [ "$netif" = "$teammaster" ]; then
DEVICE=$(cd "/sys/devices/${driver}/$devbusid/net/" && set -- * && [ "$1" != "*" ] && echo "$1")
- uuid=$(cat /proc/sys/kernel/random/uuid)
+ read -r uuid < /proc/sys/kernel/random/uuid
IFCFGFILE=/run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-$DEVICE
return 0
;;
*)
- devname=$(cat /sys/block/"${dev}"/dm/name)
+ read -r devname < /sys/block/"${dev}"/dm/name
dmsetup -v --noudevsync remove "$devname" || return $?
;;
esac
rootDeviceSysfsPath=/sys/class/block/${rootDeviceAbsolutePath##*/}
if [ -f "${rootDeviceSysfsPath}/partition" ]; then
# shellcheck disable=SC2086
- partition=$(cat ${rootDeviceSysfsPath}/partition)
+ read -r partition < ${rootDeviceSysfsPath}/partition
else
partition=0
fi
# shellcheck disable=SC2086
- readonly=$(cat ${rootDeviceSysfsPath}/ro)
+ read -r readonly < ${rootDeviceSysfsPath}/ro
# shellcheck disable=SC2086
if [ "$partition" != "1" ] || [ "$readonly" != "0" ]; then
info "Skipping overlay creation: unpartitioned or read-only media detected"
mode=$3
vlan="yes"
-iflink=$(cat /sys/class/net/"$netif"/iflink)
-ifindex=$(cat /sys/class/net/"$netif"/ifindex)
+read -r iflink < /sys/class/net/"$netif"/iflink
+read -r ifindex < /sys/class/net/"$netif"/ifindex
if [ "$iflink" != "$ifindex" ]; then
# Skip VLAN devices
exit 0
set -- /sys/firmware/ibft/ethernet*
echo $#
)
- retry=$(cat /tmp/session-retry)
+ read -r retry < /tmp/session-retry
if [ "$retry" -lt "$ifaces" ]; then
retry=$((retry + 1))
for flash in "${host}"/flashnode_sess-*; do
[ -f "$flash" ] || continue
[ ! -e "$flash/is_boot_target" ] && continue
- is_boot=$(cat "$flash"/is_boot_target)
+ read -r is_boot < "$flash"/is_boot_target
if [ "$is_boot" -eq 1 ]; then
# qla4xxx flashnode session; skip iBFT discovery
- iscsi_initiator=$(cat /sys/class/iscsi_host/"${iscsi_host}"/initiatorname)
+ read -r iscsi_initiator < /sys/class/iscsi_host/"${iscsi_host}"/initiatorname
echo "rd.iscsi.initiator=${iscsi_initiator}"
return
fi
c=${d##*/}
conn=${d}/iscsi_connection/${c}
if [ -d "${conn}" ]; then
- iscsi_address=$(cat "${conn}"/persistent_address)
- iscsi_port=$(cat "${conn}"/persistent_port)
+ read -r iscsi_address < "${conn}"/persistent_address
+ read -r iscsi_port < "${conn}"/persistent_port
fi
;;
*session)
if [ -d "${d}"/"${iscsi_session}" ]; then
- iscsi_initiator=$(cat "${d}"/"${iscsi_session}"/initiatorname)
- iscsi_targetname=$(cat "${d}"/"${iscsi_session}"/targetname)
+ read -r iscsi_initiator < "${d}"/"${iscsi_session}"/initiatorname
+ read -r iscsi_targetname < "${d}"/"${iscsi_session}"/targetname
fi
;;
esac
CHANNEL=${ID%%-*}
CHANNEL=${CHANNEL#*:}
if [ -f /sys"$DEVPATH"/scsi_target_id ]; then
- TARGET=$(cat /sys"$DEVPATH"/scsi_target_id)
+ read -r TARGET < /sys"$DEVPATH"/scsi_target_id
fi
[ -z "$TARGET" ] && exit 1
echo "$CHANNEL" "$TARGET" $LUN > /sys/class/scsi_host/host"$HOST"/scan
_rport="${_rport%%/*}"
_classdev="/sys/class/fc_remote_ports/rport-${_rport}"
[ -d "$_classdev" ] || return 1
- _wwpn=$(cat "${_classdev}"/port_name)
+ read -r _wwpn < "${_classdev}"/port_name
echo "rd.lunmask=fc,${_wwpn},${_lun}"
return 0
fi
_end_device="${_end_device%%/*}"
_classdev="/sys/class/sas_device/end_device-${_end_device}"
[ -e "$_classdev" ] || return 1
- _sas_address=$(cat "${_classdev}"/sas_address)
+ read -r _sas_address < "${_classdev}"/sas_address
echo "rd.lunmask=sas,${_sas_address},${_lun}"
return 0
fi
check() {
[[ $hostonly ]] || [[ $mount_needs ]] && {
[ -w /sys/module/scsi_mod/parameters/scan ] || return 255
- scan_type=$(cat /sys/module/scsi_mod/parameters/scan)
+ read -r scan_type < /sys/module/scsi_mod/parameters/scan
[ "$scan_type" = "manual" ] && return 0
return 255
}
CHANNEL=${ID%%-*}
CHANNEL=${CHANNEL#*:}
if [ -f /sys"$DEVPATH"/scsi_target_id ]; then
- TARGET=$(cat /sys"$DEVPATH"/scsi_target_id)
+ read -r TARGET < /sys"$DEVPATH"/scsi_target_id
fi
[ -z "$TARGET" ] && exit 1
echo 0 "$TARGET" $LUN > /sys/class/scsi_host/host"$HOST"/scan
type incol2 > /dev/null 2>&1 || . /lib/dracut-lib.sh
-[ -f /tmp/nfs.rpc_pipefs_path ] && rpcpipefspath=$(cat /tmp/nfs.rpc_pipefs_path)
+[ -f /tmp/nfs.rpc_pipefs_path ] && read -r rpcpipefspath < /tmp/nfs.rpc_pipefs_path
[ -z "$rpcpipefspath" ] && rpcpipefspath=var/lib/nfs/rpc_pipefs
pid=$(pidof rpc.statd)
for d in device/nvme*; do
[ -L "$d" ] || continue
if readlink "$d" | grep -q nvme-fabrics; then
- trtype=$(cat "$d"/transport)
+ read -r trtype < "$d"/transport
break
fi
done
for d in device/nvme*; do
[ -L "$d" ] || continue
if readlink "$d" | grep -q nvme-fabrics; then
- trtype=$(cat "$d"/transport)
+ read -r trtype < "$d"/transport
break
fi
done
}
if [ -f /etc/nvme/hostnqn ]; then
- _hostnqn=$(cat /etc/nvme/hostnqn)
+ read -r _hostnqn < /etc/nvme/hostnqn
echo -n " rd.nvmf.hostnqn=${_hostnqn}"
fi
if [ -f /etc/nvme/hostid ]; then
- _hostid=$(cat /etc/nvme/hostid)
+ read -r _hostid < /etc/nvme/hostid
echo -n " rd.nvmf.hostid=${_hostid}"
fi
if ! getargbool 0 rd.skipfsck; then
if [ -f "$NEWROOT"/fsckoptions ]; then
- fsckoptions=$(cat "$NEWROOT"/fsckoptions)
+ read -r fsckoptions < "$NEWROOT"/fsckoptions
fi
if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck; then
fi
# read the kernel master key blob
- KEYBLOB=$(cat "${MASTERKEYPATH}")
+ read -r KEYBLOB < "${MASTERKEYPATH}"
# add the 'load' prefix if the key type is 'trusted'
[ "${MASTERKEYTYPE}" = "trusted" ] \
fi
# read the eCryptfs encrypted key blob
- KEYBLOB=$(cat "${ECRYPTFSKEYPATH}")
+ read -r KEYBLOB < "${ECRYPTFSKEYPATH}"
# load the eCryptfs encrypted key blob
if ! ECRYPTFSKEYID=$(keyctl add ${ECRYPTFSKEYTYPE} ${ECRYPTFSKEYDESC} "load ${KEYBLOB}" @u); then
fi
# read the EVM encrypted key blob
- KEYBLOB=$(cat "${EVMKEYPATH}")
+ read -r KEYBLOB < "${EVMKEYPATH}"
# load the EVM encrypted key
if ! EVMKEYID=$(keyctl add ${EVMKEYTYPE} ${EVMKEYDESC} "load ${KEYBLOB}" @u); then
local _fsckoptions
if [ -f "$NEWROOT"/fsckoptions ]; then
- _fsckoptions=$(cat "$NEWROOT"/fsckoptions)
+ read -r _fsckoptions < "$NEWROOT"/fsckoptions
fi
if [ -f "$NEWROOT"/forcefsck ] || getargbool 0 forcefsck; then
if [ -z "$_ctty" ]; then
_ctty=console
while [ -f /sys/class/tty/$_ctty/active ]; do
- _ctty=$(cat /sys/class/tty/$_ctty/active)
+ read -r _ctty < /sys/class/tty/$_ctty/active
_ctty=${_ctty##* } # last one in the list
done
_ctty=/dev/$_ctty