Linux cryptographic layer development
 help / color / mirror / Atom feed
From: Ingo Franzki <ifranzki@linux.ibm.com>
To: Eric Biggers <ebiggers@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>
Cc: Harald Freudenberger <freude@linux.ibm.com>,
	Holger Dengler <dengler@linux.ibm.com>,
	linux-crypto@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Syzbot finding: invalid-load in arch/s390/crypto/sha_common.c
Date: Thu, 26 Jun 2025 15:54:58 +0200	[thread overview]
Message-ID: <12740696-595c-4604-873e-aefe8b405fbf@linux.ibm.com> (raw)

Hi Eric, Herbert,

There is a Syzbot finding in arch/s390/crypto/sha_common.c.
Yes that's s390 specific code, but I guess its due to the recent changes in the digest code....

Seems that field first_message_part (bool) of struct s390_sha_ctx has an invalid value when s390_sha_update_blocks() gets called.
No idea why it could have an invalid value, I only see it being set to 0 or 1. Maybe ctx is pointing to an entirely wrong context in that call chain (bad pointer)? 

Does this ring a bell for you? 

Status: reporting: reported C repro on 2025/06/09 15:22
Reported-by: syzbotz+cb049f03e0851197b31a@linux.ibm.com
First crash: 16d, last: now

------------[ cut here ]------------
UBSAN: invalid-load in arch/s390/crypto/sha_common.c:26:11
load of value 219 is not a valid value for type 'bool' (aka '_Bool')
CPU: 3 UID: 0 PID: 425 Comm: syz-executor420 Not tainted 6.16.0-rc3-syzkaller-11626-g336ad76bd370 #0 PREEMPT(full) 
Hardware name: IBM 3931 A01 701 (KVM/Linux)
Call Trace:
 [<00026a33d504f4ee>] dump_stack_lvl+0x14e/0x1c0 lib/dump_stack.c:120 
 [<00026a33d501fce0>] ubsan_epilogue+0x20/0x50 lib/ubsan.c:233 
 [<00026a33d852b4cc>] __ubsan_handle_load_invalid_value+0xcc/0xe0 lib/ubsan.c:527 
 [<00026a33d51d0d6e>] s390_sha_update_blocks+0x2ae/0x310 arch/s390/crypto/sha_common.c:26 
 [<00026a33d7de95c4>] crypto_shash_finup+0x424/0x720 crypto/shash.c:152 
 [<00026a33d7e06022>] crypto_shash_update include/crypto/hash.h:992 [inline] 
 [<00026a33d7e06022>] hmac_setkey+0x5c2/0x7a0 crypto/hmac.c:73 
 [<00026a33d7de8e1c>] crypto_shash_setkey+0x8c/0x1f0 crypto/shash.c:56 
 [<00026a33d7dee7c2>] hkdf_extract+0x42/0xa0 crypto/hkdf.c:50 
 [<00026a33d5fd5c16>] fscrypt_init_hkdf+0x146/0x280 fs/crypto/hkdf.c:73 
 [<00026a33d5fd9dbe>] fscrypt_get_test_dummy_key_identifier+0xfe/0x1f0 fs/crypto/keyring.c:845 
 [<00026a33d5fe617a>] fscrypt_parse_test_dummy_encryption+0x4fa/0x720 fs/crypto/policy.c:827 
 [<00026a33d634d0b6>] ext4_parse_test_dummy_encryption+0x36/0xe0 fs/ext4/super.c:2071 
 [<00026a33d6348fbe>] ext4_parse_param+0xe7e/0x2130 fs/ext4/super.c:2314 
 [<00026a33d5f4a896>] vfs_parse_fs_param+0x216/0x510 fs/fs_context.c:146 
 [<00026a33d5f4b23a>] vfs_parse_fs_string fs/fs_context.c:188 [inline] 
 [<00026a33d5f4b23a>] vfs_parse_monolithic_sep fs/fs_context.c:230 [inline] 
 [<00026a33d5f4b23a>] generic_parse_monolithic+0x24a/0x2f0 fs/fs_context.c:258 
 [<00026a33d5ed4d88>] do_new_mount+0x248/0xab0 fs/namespace.c:3881 
 [<00026a33d5ed3450>] path_mount+0x680/0x1180 fs/namespace.c:4209 
 [<00026a33d5ed8606>] do_mount fs/namespace.c:4222 [inline] 
 [<00026a33d5ed8606>] __do_sys_mount fs/namespace.c:4433 [inline] 
 [<00026a33d5ed8606>] __se_sys_mount fs/namespace.c:4410 [inline] 
 [<00026a33d5ed8606>] __s390x_sys_mount+0x5c6/0x6e0 fs/namespace.c:4410 
 [<00026a33db0a14f2>] __do_syscall+0x122/0x230 arch/s390/kernel/syscall.c:125 
 [<00026a33db0c521e>] system_call+0x6e/0x90 arch/s390/kernel/entry.S:261 
---[ end trace ]---



-- 
Ingo Franzki
eMail: ifranzki@linux.ibm.com  
Tel: ++49 (0)7031-16-4648
Linux on IBM Z Development, Schoenaicher Str. 220, 71032 Boeblingen, Germany

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294
IBM DATA Privacy Statement: https://www.ibm.com/privacy/us/en/


             reply	other threads:[~2025-06-26 13:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-26 13:54 Ingo Franzki [this message]
2025-06-26 17:34 ` Syzbot finding: invalid-load in arch/s390/crypto/sha_common.c Eric Biggers
2025-06-26 23:13   ` Eric Biggers
2025-06-27  7:13     ` Ingo Franzki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12740696-595c-4604-873e-aefe8b405fbf@linux.ibm.com \
    --to=ifranzki@linux.ibm.com \
    --cc=dengler@linux.ibm.com \
    --cc=ebiggers@kernel.org \
    --cc=freude@linux.ibm.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox