Hi Cédric > Subject: Re: [PATCH v2 05/25] hw/misc/aspeed_hace: Split hash execution into > helper functions for clarity > > Hello Jamin, > > On 5/14/25 04:48, Jamin Lin wrote: > > Hi Cédric, > > > >> Subject: RE: [PATCH v2 05/25] hw/misc/aspeed_hace: Split hash > >> execution into helper functions for clarity > >> > >> Hi Cédric > >> > >>> Subject: Re: [PATCH v2 05/25] hw/misc/aspeed_hace: Split hash > >>> execution into helper functions for clarity > >>> > >>> Hello Jamin > >>> > >>> On 5/13/25 08:28, Jamin Lin wrote: > >>>> Refactor "do_hash_operation()" by extracting hash execution and > >>>> result handling into dedicated helper functions: > >>>> > >>>> - "hash_write_digest_and_unmap_iov()": Writes the digest result to > >>>> memory > >>> and > >>>> unmaps IOVs after processing. > >>>> - "hash_execute_non_acc_mode()": Handles one-shot (non-accumulated) > >>> hash > >>>> operations. > >>>> - "hash_execute_acc_mode()": Handles accumulated hashing, including > >>> update and > >>>> finalize logic. > >>>> > >>>> No functional changes introduced. > >>> > >>> This patch is breaking 'check-qtest-arm' > >>> > >>> > >>> stderr: > >>> ** > >>> ERROR:../tests/qtest/aspeed_hace-test.c:254:test_sha512: > >>> assertion failed (digest == test_result_sha512) > >>> > >> > > > > I’d like to provide some additional information: > > > > My test environment is Ubuntu 24.04, and the glibc version is 2.39. > > I previously encountered issues where very very older versions of glibc > > (such > as those on Ubuntu 18.04) did not support SHA-512 properly. > > In those cases, I switched to using libgcrypt to perform SHA-512 testing > instead. > > > > If you're still experiencing failures when testing SHA-512, please try > > building > with either the "--enable-gcrypt" or "--enable-nettle" option enabled. > > The test fails on RHEL9 and Ubuntu 22.04 and it doesn't on F42. Most likely, > it > is a compiler behavior difference. > I will test is on Ubuntu 22.04. Will create a new patch to set local size_t digest_len 0.
> > The problem is due to the local 'size_t digest_len' variable not being > initialized > to zero. With that fixed, the test passes on all distros. > > Please split patch 5 to introduce these routines one by one : > > hash_prepare_sg_iov > hash_prepare_direct_iov > hash_execute_acc_mode > hash_execute_non_acc_mode > Will do Thanks-Jamin > Thanks, > > C. >