<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":4}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); list-style-type: "➢ ";">
<div class="elementToProof" role="presentation">Seems like crypto_alg_mod_lookup() [1] fails and that triggers the panic() at [2].</div>
</li></ul>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Yes. That's what I understand. </div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
In crypto/testmgr.c if the algorithm has fips_allowed=1 the selftest is not allowed to fail when fips=1 is passed on the kernel command line.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt;">
<span style="color: rgb(0, 0, 0);">Setting fips=1 results in </span><span style="color: rgb(0, 0, 0);">fips_enabled in testmgr.c</span></div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Crypto/testmgr.c (line 5610)</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
        }, {</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
#endif</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                .alg = "xxhash64",</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                .test = alg_test_hash,</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                .fips_allowed = 1,</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                .suite = {</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                        .hash = __VECS(xxhash64_tv_template)</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                }</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
        }, {</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div><br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
It's probably hitting this code path</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
crypto/testmgr.c (line 5758)</div>
<div class="elementToProof">
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                if (fips_enabled) {</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                        fips_fail_notify();</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                        panic("alg: self-tests for %s (%s) failed in fips mode!\n",</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                              driver, alg);</div>
<div class="elementToProof" style="line-height: 19px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
                }</div>
</div>
<div><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>From:</b> Hamza Mahfooz <hamzamahfooz@linux.microsoft.com><br>
<b>Sent:</b> Thursday, April 9, 2026 10:18 AM<br>
<b>To:</b> Herbert Xu <herbert@gondor.apana.org.au><br>
<b>Cc:</b> linux-crypto@vger.kernel.org <linux-crypto@vger.kernel.org>; David S. Miller <davem@davemloft.net>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; Alexandre Torgue <alexandre.torgue@foss.st.com>; linux-stm32@st-md-mailman.stormreply.com <linux-stm32@st-md-mailman.stormreply.com>;
 linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Jeff Barnes <jeffbarnes@linux.microsoft.com>; Monson, Paul <paul.monson@capgemini.com><br>
<b>Subject:</b> Re: [PATCH] crypto: tstmgr - guard xxhash tests </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-size: 11pt;">******This mail has been sent from an external source. Do not reply to it, or open any links/attachments unless you are sure of the sender's identity.******<br>
<br>
On Wed, Apr 08, 2026 at 04:08:42PM +0800, Herbert Xu wrote:<br>
> Please show me the panic.  Normally it's not an issue if an algorithm<br>
> is not present while the test vectors are.<br>
><br>
<br>
alg: hash: failed to allocate transform for xxhash64: -2<br>
Kernel panic - not syncing: alg: self-tests for xxhash64 (xxhash64) failed in fips mode!<br>
CPU: 0 PID: 425 Comm: modprobe Not tainted 6.6.130.2-2.azl3 #1<br>
Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 01/08/2026<br>
Call Trace:<br>
 <TASK><br>
 dump_stack_lvl+0x4c/0x70<br>
 dump_stack+0x14/0x20<br>
 panic+0x179/0x330<br>
 alg_test+0x678/0x680<br>
 ? __alloc_pages+0x1e2/0x340<br>
 do_test+0x26f8/0x7670 [tcrypt]<br>
 do_test+0x72c5/0x7670 [tcrypt]<br>
 tcrypt_mod_init+0x65/0xff0 [tcrypt]<br>
 ? __pfx_tcrypt_mod_init+0x10/0x10 [tcrypt]<br>
 do_one_initcall+0x4e/0x330<br>
 ? kmalloc_trace+0x2e/0xa0<br>
 do_init_module+0x68/0x250<br>
 load_module+0x1f2e/0x2150<br>
 ? __do_sys_init_module+0xe6/0x1d0<br>
 __do_sys_init_module+0x19c/0x1d0<br>
 ? __do_sys_init_module+0x19c/0x1d0<br>
 __x64_sys_init_module+0x1e/0x30<br>
 x64_sys_call+0x11b3/0x1c90<br>
 do_syscall_64+0x5a/0x80<br>
 ? irqentry_exit_to_user_mode+0x29/0x50<br>
 ? irqentry_exit+0x3f/0x50<br>
 ? exc_page_fault+0x87/0x160<br>
 entry_SYSCALL_64_after_hwframe+0x78/0xe2<br>
RIP: 0033:0x7715f70fab9e<br>
Code: 48 8b 0d 85 32 12 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 52 32 12 00 f7 d8 64 89 01 48<br>
RSP: 002b:00007ffde8fef6c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000af<br>
RAX: ffffffffffffffda RBX: 00005d0b39626af0 RCX: 00007715f70fab9e<br>
RDX: 00005d0b1710197a RSI: 0000000000028c39 RDI: 00005d0b39635310<br>
RBP: 00005d0b1710197a R08: 0000000000000001 R09: 0000000000000000<br>
R10: 0000000000000071 R11: 0000000000000246 R12: 00005d0b39635310<br>
R13: 0000000000000000 R14: 00005d0b39626c20 R15: 00005d0b39626da0<br>
 </TASK><br>
<br>
Seems like crypto_alg_mod_lookup() [1] fails and that triggers the panic() at [2].<br>
<br>
[1] <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/api.c?h=v7.0-rc7#n338" id="OWA304fec52-c6ce-243d-8347-ec263f95d0b6" class="OWAAutoLink" data-auth="NotApplicable">
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/api.c?h=v7.0-rc7#n338</a><br>
[2] <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/testmgr.c?h=v7.0-rc7#n5760" id="OWA92fb4d8d-cb08-86c9-7fea-e267175cc57f" class="OWAAutoLink" data-auth="NotApplicable">
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/testmgr.c?h=v7.0-rc7#n5760</a><br>
<br>
BR,<br>
Hamza<br>
<br>
</div>
<span style="font-size: 9px;">This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.</span></body>
</html>