Elena Afanasova <eafanas...@gmail.com> 于2020年10月9日周五 下午10:03写道: > > From 09905773a00e417d3a37c12350d9e55466fdce8a Mon Sep 17 00:00:00 2001 > From: Elena Afanasova <eafanas...@gmail.com> > Date: Fri, 9 Oct 2020 06:41:36 -0700 > Subject: [PATCH] hw/net: move allocation to the heap due to very large stack > frame > > Signed-off-by: Elena Afanasova <eafanas...@gmail.com>
Reviewed-by: Li Qiang <liq...@gmail.com> > --- > hw/net/spapr_llan.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c > index 2093f1bad0..581320a0e7 100644 > --- a/hw/net/spapr_llan.c > +++ b/hw/net/spapr_llan.c > @@ -688,7 +688,8 @@ static target_ulong h_send_logical_lan(PowerPCCPU *cpu, > SpaprVioDevice *sdev = spapr_vio_find_by_reg(spapr->vio_bus, reg); > SpaprVioVlan *dev = VIO_SPAPR_VLAN_DEVICE(sdev); > unsigned total_len; > - uint8_t *lbuf, *p; > + uint8_t *p; > + g_autofree uint8_t *lbuf = NULL; > int i, nbufs; > int ret; > > @@ -729,7 +730,7 @@ static target_ulong h_send_logical_lan(PowerPCCPU *cpu, > return H_RESOURCE; > } > > - lbuf = alloca(total_len); > + lbuf = g_malloc(total_len); > p = lbuf; > for (i = 0; i < nbufs; i++) { > ret = spapr_vio_dma_read(sdev, VLAN_BD_ADDR(bufs[i]), > -- > 2.25.1 > > >