diff --git a/SOURCES/0013-luks-define-max-entropy-bits-for-pwmake.patch b/SOURCES/0013-luks-define-max-entropy-bits-for-pwmake.patch
new file mode 100644
index 0000000..4b18e61
--- /dev/null
+++ b/SOURCES/0013-luks-define-max-entropy-bits-for-pwmake.patch
@@ -0,0 +1,73 @@
+--- clevis-15.ori/src/clevis.1.adoc 2020-10-28 19:55:47.663228800 +0100
++++ clevis-15/src/clevis.1.adoc 2023-01-11 17:18:29.967295005 +0100
+@@ -101,7 +101,7 @@
+
+ This command performs four steps:
+
+-1. Creates a new key with the same entropy as the LUKS master key.
++1. Creates a new key with the same entropy as the LUKS master key -- maximum entropy bits is 256.
+ 2. Encrypts the new key with Clevis.
+ 3. Stores the Clevis JWE in the LUKS header.
+ 4. Enables the new key for use with LUKS.
+--- clevis-15.ori/src/luks/clevis-luks-bind.1.adoc 2020-10-28 19:55:47.663228800 +0100
++++ clevis-15/src/luks/clevis-luks-bind.1.adoc 2023-01-11 17:18:55.239351209 +0100
+@@ -20,7 +20,7 @@
+
+ This command performs four steps:
+
+-1. Creates a new key with the same entropy as the LUKS master key.
++1. Creates a new key with the same entropy as the LUKS master key -- maximum entropy bits is 256.
+ 2. Encrypts the new key with Clevis.
+ 3. Stores the Clevis JWE in the LUKS header.
+ 4. Enables the new key for use with LUKS.
+--- clevis-15.ori/src/luks/clevis-luks-common-functions 2023-01-11 17:15:44.984928070 +0100
++++ clevis-15/src/luks/clevis-luks-common-functions 2023-01-11 17:20:53.238613637 +0100
+@@ -865,6 +865,7 @@
+ [ -z "${DEV}" ] && return 1
+
+ local dump filter bits
++ local MAX_ENTROPY_BITS=256
+ dump=$(cryptsetup luksDump "${DEV}")
+ if cryptsetup isLuks --type luks1 "${DEV}"; then
+ filter="$(echo "${dump}" | sed -rn 's|MK bits:[ \t]*([0-9]+)|\1|p')"
+@@ -876,6 +877,9 @@
+ fi
+
+ bits="$(echo -n "${filter}" | sort -n | tail -n 1)"
++ if [ "${bits}" -gt "${MAX_ENTROPY_BITS}" ]; then
++ bits="${MAX_ENTROPY_BITS}"
++ fi
+ pwmake "${bits}"
+ }
+
+--- clevis-15.ori/src/luks/clevis-luks-bind.in 2023-01-11 17:15:44.815927694 +0100
++++ clevis-15/src/luks/clevis-luks-bind.in 2023-01-12 16:20:30.266404993 +0100
+@@ -19,6 +19,8 @@
+ # along with this program. If not, see .
+ #
+
++. clevis-luks-common-functions
++
+ SUMMARY="Binds a LUKS device using the specified policy"
+ UUID=cb6e8904-81ff-40da-a84a-07ab9ab5715e
+
+@@ -139,14 +141,11 @@
+ fi
+
+ # Generate a key with the same entropy as the LUKS Master Key
+-key="$(pwmake "$(
+-cryptsetup luksDump "$DEV" \
+- | if [ "$luks_type" == "luks1" ]; then
+- sed -rn 's|MK bits:[ \t]*([0-9]+)|\1|p'
+- else
+- sed -rn 's|^\s+Key:\s+([0-9]+) bits\s*$|\1|p'
+- fi | sort -n | tail -n 1
+-)")"
++if ! key="$(clevis_luks_generate_key "${DEV}")" \
++ || [ -z "${key}" ]; then
++ echo "Unable to generate key for ${DEV}" >&2
++ return 1
++fi
+
+ # Encrypt the new key
+ jwe="$(echo -n "$key" | clevis encrypt "$PIN" "$CFG" "${YES}")"
diff --git a/SPECS/clevis.spec b/SPECS/clevis.spec
index d90f09c..38a8ed6 100644
--- a/SPECS/clevis.spec
+++ b/SPECS/clevis.spec
@@ -2,7 +2,7 @@
Name: clevis
Version: 15
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: Automated decryption framework
License: GPLv3+
@@ -21,6 +21,7 @@ Patch0009: 0009-feat-rename-the-test-pin-to-null-pin.patch
Patch0010: 0010-avoid-clevis-invalid-msg.patch
Patch0011: 0011-Improve-boot-performance-by-removing-key-check.patch
Patch0012: 0012-ignore-empty-and-comment-lines-in-crypttab.patch
+Patch0013: 0013-luks-define-max-entropy-bits-for-pwmake.patch
BuildRequires: git
BuildRequires: gcc
@@ -201,6 +202,10 @@ systemctl preset %{name}-luks-askpass.path >/dev/null 2>&1 || :
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
%changelog
+* Wed Jan 11 2023 Sergio Arroutbi - 15-13
+- luks: define max entropy bits for pwmake
+ Resolves: rhbz#2159736
+
* Wed Jan 11 2023 Sergio Arroutbi - 15-12
- Ignore empty & comment lines in crypttab
Resolves: rhbz#2159440