commit:     ca080adda7285e5d7927b1c8a567018a99c55a25
Author:     Arisu Tachibana <alicef <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  2 03:27:13 2025 +0000
Commit:     Arisu Tachibana <alicef <AT> gentoo <DOT> org>
CommitDate: Thu Oct  2 03:27:13 2025 +0000
URL:        https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=ca080add

Add patch crypto: af_alg - Fix incorrect boolean values in af_alg_ctx

Ref: 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/plain/queue-6.16/crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch
Signed-off-by: Arisu Tachibana <alicef <AT> gentoo.org>

 0000_README                                        |  4 ++
 ...ix-incorrect-boolean-values-in-af_alg_ctx.patch | 43 ++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/0000_README b/0000_README
index 3f823104..d1517a09 100644
--- a/0000_README
+++ b/0000_README
@@ -83,6 +83,10 @@ Patch:  
1401_btrfs-don-t-allow-adding-block-device-of-less-than-1.patch
 From:   
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-6.16/btrfs-don-t-allow-adding-block-device-of-less-than-1.patch
 Desc:   btrfs: don't allow adding block device of less than 1 MB
 
+Patch:  1402_crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch
+From:   
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/plain/queue-6.16/crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch
+Desc:   crypto: af_alg - Fix incorrect boolean values in af_alg_ctx
+
 Patch:  1510_fs-enable-link-security-restrictions-by-default.patch
 From:   
http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
 Desc:   Enable link security restrictions by default.

diff --git 
a/1402_crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch 
b/1402_crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch
new file mode 100644
index 00000000..c505c6a6
--- /dev/null
+++ b/1402_crypto-af_alg-fix-incorrect-boolean-values-in-af_alg_ctx.patch
@@ -0,0 +1,43 @@
+From d0ca0df179c4b21e2a6c4a4fb637aa8fa14575cb Mon Sep 17 00:00:00 2001
+From: Eric Biggers <[email protected]>
+Date: Wed, 24 Sep 2025 13:18:22 -0700
+Subject: crypto: af_alg - Fix incorrect boolean values in af_alg_ctx
+
+From: Eric Biggers <[email protected]>
+
+commit d0ca0df179c4b21e2a6c4a4fb637aa8fa14575cb upstream.
+
+Commit 1b34cbbf4f01 ("crypto: af_alg - Disallow concurrent writes in
+af_alg_sendmsg") changed some fields from bool to 1-bit bitfields of
+type u32.
+
+However, some assignments to these fields, specifically 'more' and
+'merge', assign values greater than 1.  These relied on C's implicit
+conversion to bool, such that zero becomes false and nonzero becomes
+true.
+
+With a 1-bit bitfields of type u32 instead, mod 2 of the value is taken
+instead, resulting in 0 being assigned in some cases when 1 was intended.
+
+Fix this by restoring the bool type.
+
+Fixes: 1b34cbbf4f01 ("crypto: af_alg - Disallow concurrent writes in 
af_alg_sendmsg")
+Cc: [email protected]
+Signed-off-by: Eric Biggers <[email protected]>
+Signed-off-by: Linus Torvalds <[email protected]>
+Signed-off-by: Greg Kroah-Hartman <[email protected]>
+---
+ include/crypto/if_alg.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/crypto/if_alg.h
++++ b/include/crypto/if_alg.h
+@@ -152,7 +152,7 @@ struct af_alg_ctx {
+       size_t used;
+       atomic_t rcvused;
+ 
+-      u32             more:1,
++      bool            more:1,
+                       merge:1,
+                       enc:1,
+                       write:1,

Reply via email to