diff --git a/SOURCES/0187.patch b/SOURCES/0187.patch
index 6c4b3f4..dd18f9a 100644
--- a/SOURCES/0187.patch
+++ b/SOURCES/0187.patch
@@ -28,3 +28,4 @@ index 11964b97..7f5d365a 100644
  
      # Create mount points for squash loader
      mkdir -p "$initdir"/squash/
+
diff --git a/SOURCES/0188.patch b/SOURCES/0188.patch
new file mode 100644
index 0000000..a418a83
--- /dev/null
+++ b/SOURCES/0188.patch
@@ -0,0 +1,32 @@
+From 090aa276b8d4b5041472743ea7472a3a1d398a92 Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong@redhat.com>
+Date: Tue, 10 Aug 2021 17:37:08 +0800
+Subject: [PATCH] fix(lsinitrd): TMP_DIR doesn't exist in RHEL8
+
+lsinitrd should create a seperate temp file for extracting squash image
+when squash module is enabled.
+
+Signed-off-by: Kairui Song <kasong@redhat.com>
+(cherry picked from commit 52fcd3373f0cf715b3744f832643dc3170aefbf5)
+
+Resolves: #1991647
+---
+ lsinitrd.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index 04ce9e8b..85981e58 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -163,8 +163,8 @@ list_files()
+ list_squash_content()
+ {
+     SQUASH_IMG="squash-root.img"
+-    SQUASH_TMPFILE="$TMPDIR/initrd.root.sqsh"
+-
++    SQUASH_TMPFILE="$(mktemp -t --suffix=.root.sqsh lsinitrd.XXXXXX)"
++    trap "rm -f '$SQUASH_TMPFILE'" EXIT
+     $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout -- \
+         $SQUASH_IMG > "$SQUASH_TMPFILE" 2>/dev/null
+     if [[ -s $SQUASH_TMPFILE ]]; then
+
diff --git a/SOURCES/0189.patch b/SOURCES/0189.patch
new file mode 100644
index 0000000..375ad80
--- /dev/null
+++ b/SOURCES/0189.patch
@@ -0,0 +1,40 @@
+From 2ee3efdfa0c7f12c2f8446721937bfe713858854 Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong@redhat.com>
+Date: Mon, 9 Aug 2021 18:23:43 +0800
+Subject: [PATCH] fix(squash): apply FIPS and libpthread workaround
+
+There are some workarounds in dracut.sh for FIPS/libpthread covering
+some hidden lib dependency issues. These workarounds didn't take effect
+for the squash loader since the squash loader is installed
+independently. So apply these workarounds again.
+
+Also skip the lib detection code, since these extra installed libs
+are small, and squash loader contents are dropped after switch root,
+won't be an issue to be always installed. And this makes the code
+cleaner.
+
+Signed-off-by: Kairui Song <kasong@redhat.com>
+(cherry picked from commit 5ab18dee996f0eeb2b0bfe354570e1b1af46d025)
+
+Resolves: #1990847
+---
+ modules.d/99squash/module-setup.sh | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
+index 7f5d365a..e73d3184 100644
+--- a/modules.d/99squash/module-setup.sh
++++ b/modules.d/99squash/module-setup.sh
+@@ -53,6 +53,12 @@ installpost() {
+         done
+     else
+         DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep umount
++
++        # libpthread workaround: pthread_cancel wants to dlopen libgcc_s.so
++        inst_libdir_file -o "libgcc_s.so*"
++
++        # FIPS workaround for Fedora/RHEL: libcrypto needs libssl when FIPS is enabled
++        [[ $DRACUT_FIPS_MODE ]] && inst_libdir_file -o "libssl.so*"
+     fi
+ 
+     hostonly="" instmods "loop" "squashfs" "overlay"
diff --git a/SPECS/dracut.spec b/SPECS/dracut.spec
index 91caaaf..a353141 100644
--- a/SPECS/dracut.spec
+++ b/SPECS/dracut.spec
@@ -5,7 +5,7 @@
 # strip the automatically generated dep here and instead co-own the
 # directory.
 %global __requires_exclude pkg-config
-%define dist_free_release 188.git20210802
+%define dist_free_release 190.git20210811
 
 Name: dracut
 Version: 049
@@ -215,6 +215,8 @@ Patch184: 0184.patch
 Patch185: 0185.patch
 Patch186: 0186.patch
 Patch187: 0187.patch
+Patch188: 0188.patch
+Patch189: 0189.patch
 
 Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
 
@@ -667,6 +669,10 @@ echo '# Since rhel-8.3 dracut moved to use NetworkManager
 add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf
 
 %changelog
+* Wed Aug 11 2021 Lukas Nykryn <lnykryn@redhat.com> - 049-190.git20210811
+- fix(lsinitrd): TMP_DIR doesn't exist in RHEL8
+- fix(squash): apply FIPS and libpthread workaround
+
 * Mon Aug 02 2021 Lukas Nykryn <lnykryn@redhat.com> - 049-188.git20210802
 - dracut-functions: fix botched backport
 - squash: unsquash the root image instead of mounting it on