On Thu, Mar 03, 2022 at 12:13:10PM -0800, Keith Busch wrote: > Hardware specific features may be able to calculate a crc64, so provide > a framework for drivers to register their implementation. If nothing is > registered, fallback to the generic table lookup implementation. The > implementation is modeled after the crct10dif equivalent. Hi Keith, this is failing on big-endian systems. I get the following on s390: [ 0.551573] crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64 [ 0.551575] crc32: self tests passed, processed 225944 bytes in 118879 nsec [ 0.551697] crc32c: CRC_LE_BITS = 64 [ 0.551698] crc32c: self tests passed, processed 112972 bytes in 58963 nsec [ 0.577325] crc32_combine: 8373 self tests passed [ 0.603321] crc32c_combine: 8373 self tests passed [ 0.603502] alg: shash: crc64-rocksoft-generic test failed (wrong result) on test vector 0, cfg="init+update+final aligned buffer" [ 0.603506] ------------[ cut here ]------------ [ 0.603507] alg: self-tests for crc64-rocksoft-generic (crc64-rocksoft) failed (rc=-22) [ 0.603542] WARNING: CPU: 0 PID: 43 at crypto/testmgr.c:5726 alg_test+0x3c2/0x638 [ 0.603554] Modules linked in: [ 0.603557] CPU: 0 PID: 43 Comm: cryptomgr_test Not tainted 5.17.0-rc7-next-20220308-118584-gcb153b68ff91 #168 [ 0.603560] Hardware name: IBM 8561 T01 701 (KVM/Linux) [ 0.603562] Krnl PSW : 0704e00180000000 00000000007d2286 (alg_test+0x3c6/0x638) [ 0.603565] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3 [ 0.603568] Krnl GPRS: 00000000ffffffea 000000000177c350 000000000000004b 00000000ffffefff [ 0.603570] 0000000001663ed0 0000038000000001 0000000001ed1720 0000000081a4e480 [ 0.603572] 0000000081a4e400 000003800000003e ffffffffffffffea 000000000000003e [ 0.603611] 0000000081a5a100 000000000000003e 00000000007d2282 00000380001b7cf0 [ 0.603618] Krnl Code: 00000000007d2276: c02000495b9e larl %r2,00000000010fd9b2 [ 0.603618] 00000000007d227c: c0e50026dbc6 brasl %r14,0000000000cada08 [ 0.603618] #00000000007d2282: af000000 mc 0,0 [ 0.603618] >00000000007d2286: b904002a lgr %r2,%r10 [ 0.603618] 00000000007d228a: eb6ff1380004 lmg %r6,%r15,312(%r15) [ 0.603618] 00000000007d2290: 07fe bcr 15,%r14 [ 0.603618] 00000000007d2292: 47000700 bc 0,1792 [ 0.603618] 00000000007d2296: 1842 lr %r4,%r2 [ 0.603632] Call Trace: [ 0.603634] [<00000000007d2286>] alg_test+0x3c6/0x638 [ 0.603636] ([<00000000007d2282>] alg_test+0x3c2/0x638) [ 0.603638] [<00000000007cfff8>] cryptomgr_test+0x68/0x70 [ 0.603641] [<000000000017b228>] kthread+0x108/0x110 [ 0.603646] [<0000000000103374>] __ret_from_fork+0x3c/0x58 [ 0.603650] [<0000000000ccc3ba>] ret_from_fork+0xa/0x40 [ 0.603658] Last Breaking-Event-Address: [ 0.603659] [<0000000000cada68>] __warn_printk+0x60/0x68 [ 0.603663] ---[ end trace 0000000000000000 ]---