Message ID | 20230421131547.2177449-1-clg@kaod.org |
---|---|
State | New |
Headers | show |
Series | aspeed/hace: Initialize g_autofree pointer | expand |
On 4/21/23 15:15, Cédric Le Goater wrote: > As mentioned in docs/devel/style.rst "Automatic memory deallocation": > > * Variables declared with g_auto* MUST always be initialized, > otherwise the cleanup function will use uninitialized stack memory > > This avoids QEMU to coredump when running the "hash test" command > under Zephyr. > > Cc: Steven Lee <steven_lee@aspeedtech.com> > Cc: Joel Stanley <joel@jms.id.au> > Fixes: c5475b3f9a ("hw: Model ASPEED's Hash and Crypto Engine") > Signed-off-by: Cédric Le Goater <clg@kaod.org> Alex, FYI, with Thomas's fixes and this oneliner, make check-avocado ran fine with avocado bumped to version 100.1. Cheers, C. > --- > hw/misc/aspeed_hace.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c > index 12a761f1f5..b07506ec04 100644 > --- a/hw/misc/aspeed_hace.c > +++ b/hw/misc/aspeed_hace.c > @@ -189,7 +189,7 @@ static void do_hash_operation(AspeedHACEState *s, int algo, bool sg_mode, > bool acc_mode) > { > struct iovec iov[ASPEED_HACE_MAX_SG]; > - g_autofree uint8_t *digest_buf; > + g_autofree uint8_t *digest_buf = NULL; > size_t digest_len = 0; > int niov = 0; > int i;
Cédric Le Goater <clg@kaod.org> writes: > As mentioned in docs/devel/style.rst "Automatic memory deallocation": > > * Variables declared with g_auto* MUST always be initialized, > otherwise the cleanup function will use uninitialized stack memory > > This avoids QEMU to coredump when running the "hash test" command > under Zephyr. > > Cc: Steven Lee <steven_lee@aspeedtech.com> > Cc: Joel Stanley <joel@jms.id.au> > Fixes: c5475b3f9a ("hw: Model ASPEED's Hash and Crypto Engine") > Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
On 21/04/2023 15.15, Cédric Le Goater wrote: > As mentioned in docs/devel/style.rst "Automatic memory deallocation": > > * Variables declared with g_auto* MUST always be initialized, > otherwise the cleanup function will use uninitialized stack memory > > This avoids QEMU to coredump when running the "hash test" command > under Zephyr. > > Cc: Steven Lee <steven_lee@aspeedtech.com> > Cc: Joel Stanley <joel@jms.id.au> > Fixes: c5475b3f9a ("hw: Model ASPEED's Hash and Crypto Engine") > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > hw/misc/aspeed_hace.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c > index 12a761f1f5..b07506ec04 100644 > --- a/hw/misc/aspeed_hace.c > +++ b/hw/misc/aspeed_hace.c > @@ -189,7 +189,7 @@ static void do_hash_operation(AspeedHACEState *s, int algo, bool sg_mode, > bool acc_mode) > { > struct iovec iov[ASPEED_HACE_MAX_SG]; > - g_autofree uint8_t *digest_buf; > + g_autofree uint8_t *digest_buf = NULL; We maybe need a checkpatch.pl rule to catch such bugs... Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c index 12a761f1f5..b07506ec04 100644 --- a/hw/misc/aspeed_hace.c +++ b/hw/misc/aspeed_hace.c @@ -189,7 +189,7 @@ static void do_hash_operation(AspeedHACEState *s, int algo, bool sg_mode, bool acc_mode) { struct iovec iov[ASPEED_HACE_MAX_SG]; - g_autofree uint8_t *digest_buf; + g_autofree uint8_t *digest_buf = NULL; size_t digest_len = 0; int niov = 0; int i;
As mentioned in docs/devel/style.rst "Automatic memory deallocation": * Variables declared with g_auto* MUST always be initialized, otherwise the cleanup function will use uninitialized stack memory This avoids QEMU to coredump when running the "hash test" command under Zephyr. Cc: Steven Lee <steven_lee@aspeedtech.com> Cc: Joel Stanley <joel@jms.id.au> Fixes: c5475b3f9a ("hw: Model ASPEED's Hash and Crypto Engine") Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/misc/aspeed_hace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)