Linux cryptographic layer development
 help / color / mirror / Atom feed
* crypto: starfive: kernel oops when unloading jh7110_crypto module and loading it again
@ 2024-08-24 20:34 Aurelien Jarno
  2024-08-26  2:04 ` JiaJie Ho
  0 siblings, 1 reply; 4+ messages in thread
From: Aurelien Jarno @ 2024-08-24 20:34 UTC (permalink / raw)
  To: Jia Jie Ho, William Qiu; +Cc: linux-crypto, linux-riscv, E Shattow

Hi,

I have been testing the jh7110_crypto module on a VisionFive 1.2a board,
running a 6.11-rc4 kernel. To benchmark the crypto with and without
acceleration, I have unloaded the module, and later on I loaded it
again. Unloading it works fine, but when loading it again, I get the
following kernel oops:

[ 1379.354601] jh7110-crypto 16000000.crypto: will run requests pump with realtime priority
[ 1379.397261] alg: aead: starfive-ccm-aes encryption test failed (wrong result) on test vector 0, cfg="in-place (one sglist)"
[ 1379.408481] alg: self-tests for ccm(aes) using starfive-ccm-aes failed (rc=-22)
[ 1379.408490] ------------[ cut here ]------------
[ 1379.420469] alg: self-tests for ccm(aes) using starfive-ccm-aes failed (rc=-22)
[ 1379.420523] WARNING: CPU: 2 PID: 1402 at crypto/testmgr.c:5908 alg_test+0x5aa/0x5fa
[ 1379.420545] Modules linked in: jh7110_crypto(+) xts twofish_generic twofish_common serpent_generic algif_skcipher af_alg ad7418 binfmt_misc sm3_generic sm3 nls_ascii nls_cp437 vfat fat snd_soc_simple_card sha512_generic snd_soc_simple_card_utils jh7110_pwmdac snd_soc_spdif_tx sd_mod cdns3 snd_soc_core sg udc_core cdns_usb_common roles snd_pcm_dmaengine ccm snd_pcm ofpart ghash_generic gf128mul spi_nor gcm crypto_null cdns3_starfive dw_axi_dmac_platform ctr snd_timer mtd snd starfive_wdt watchdog crypto_engine jh7110_trng soundcore sfctemp cpufreq_dt drm nvme_fabrics configfs drm_panel_orientation_quirks nfnetlink efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 uas usb_storage crc32c_generic scsi_mod scsi_common rtc_ds1307 dm_mod dax xhci_pci xhci_hcd motorcomm nvme nvme_core dwmac_starfive stmmac_platform stmmac usbcore axp20x_regulator axp20x_i2c axp20x mfd_core usb_common regmap_i2c pcs_xpcs dw_mmc_starfive dw_mmc_pltfm mdio_devres of_mdio dw_mmc fixed_phy phylink mmc_core clk_starfive_jh7110_vout
[ 1379.420856]  fwnode_mdio clk_starfive_jh7110_isp libphy phy_jh7110_dphy_rx clk_starfive_jh7110_aon spi_cadence_quadspi clk_starfive_jh7110_stg i2c_designware_platform phy_jh7110_usb i2c_designware_core phy_jh7110_pcie [last unloaded: jh7110_crypto]
[ 1379.420903] CPU: 2 UID: 0 PID: 1402 Comm: cryptomgr_test Not tainted 6.11-rc4+unreleased-riscv64 #1  Debian 6.11~rc4-1~exp3
[ 1379.420915] Hardware name: Unknown Unknown Product/Unknown Product, BIOS 2024.01+dfsg-3 01/01/2024
[ 1379.420921] epc : alg_test+0x5aa/0x5fa
[ 1379.420930]  ra : alg_test+0x5aa/0x5fa
[ 1379.420938] epc : ffffffff8045db18 ra : ffffffff8045db18 sp : ffffffc6008dbd60
[ 1379.420945]  gp : ffffffff81ba8980 tp : ffffffd6c3978000 t0 : ffffffff81a30570
[ 1379.420951]  t1 : ffffffffffffffff t2 : 2d2d2d2d2d2d2d2d s0 : ffffffc6008dbe80
[ 1379.420958]  s1 : ffffffffffffffff a0 : 0000000000000043 a1 : ffffffff81a95888
[ 1379.420964]  a2 : 0000000200000022 a3 : ffffffff81c1d158 a4 : 0000000000000000
[ 1379.420971]  a5 : 0000000000000000 a6 : 0000000000000001 a7 : 0000000000057fa8
[ 1379.420976]  s2 : ffffffd6d00e0a00 s3 : 0000000000000383 s4 : ffffffd6d00e0a80
[ 1379.420983]  s5 : 000000000000017f s6 : ffffffffffffffea s7 : 0000000000000003
[ 1379.420989]  s8 : 000000000000002f s9 : 00000000000000c0 s10: 00000000000000c0
[ 1379.420995]  s11: ffffffff81063b08 t3 : ffffffff81bbedef t4 : ffffffff81bbedef
[ 1379.421001]  t5 : ffffffff81bbedf0 t6 : ffffffc6008dbb68
[ 1379.421006] status: 0000000200000120 badaddr: 0000000000000000 cause: 0000000000000003
[ 1379.421013] [<ffffffff8045db18>] alg_test+0x5aa/0x5fa
[ 1379.421024] [<ffffffff8045a026>] cryptomgr_test+0x28/0x4a
[ 1379.421034] [<ffffffff8004906e>] kthread+0xc4/0xe2
[ 1379.421046] [<ffffffff80a1333e>] ret_from_fork+0xe/0x20
[ 1379.421059] ---[ end trace 0000000000000000 ]---

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net

^ permalink raw reply	[flat|nested] 4+ messages in thread
* RE: crypto: starfive: kernel oops when unloading jh7110_crypto module and loading it again
@ 2024-10-11  8:19 JiaJie Ho
  0 siblings, 0 replies; 4+ messages in thread
From: JiaJie Ho @ 2024-10-11  8:19 UTC (permalink / raw)
  To: Alexandre Ghiti, Aurelien Jarno, William Qiu
  Cc: linux-crypto@vger.kernel.org, linux-riscv@lists.infradead.org,
	E Shattow

Hi Alex/Aurelian
> On 26/08/2024 04:04, JiaJie Ho wrote:
> >> I have been testing the jh7110_crypto module on a VisionFive 1.2a
> >> board, running a 6.11-rc4 kernel. To benchmark the crypto with and
> >> without acceleration, I have unloaded the module, and later on I loaded it
> again.
> >> Unloading it works fine, but when loading it again, I get the
> >> following kernel
> >> oops:
> >>
> > Hi, I'll investigate it. Thanks for reporting this.
> 
> 
> Did you have time to look into this?
> 

The AES ccm mode will intermittently produce a wrong tag for non-blocksize
aligned plaintext after few thousand ops. 
I'll verify this with the hardware team and submit a patch to disable ccm.
Please do not use ccm for now.

Thanks again for discovering this and sorry for the late response.

Best regards,
Jia Jie

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-11  8:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-24 20:34 crypto: starfive: kernel oops when unloading jh7110_crypto module and loading it again Aurelien Jarno
2024-08-26  2:04 ` JiaJie Ho
2024-10-01 10:42   ` Alexandre Ghiti
  -- strict thread matches above, loose matches on Subject: below --
2024-10-11  8:19 JiaJie Ho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox