Message ID | 20210224055401.492407-4-jasowang@redhat.com |
---|---|
State | New |
Headers | show |
Series | Detect reentrant RX casue by loopback | expand |
Am 24.02.21 um 06:53 schrieb Jason Wang: > This patch switches to use qemu_receive_packet() which can detect > reentrancy and return early. > > Signed-off-by: Jason Wang <jasowang@redhat.com> > --- > hw/net/dp8393x.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c > index 205c0decc5..019d4fe435 100644 > --- a/hw/net/dp8393x.c > +++ b/hw/net/dp8393x.c > @@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) > s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; > if (nc->info->can_receive(nc)) { > s->loopback_packet = 1; > - nc->info->receive(nc, s->tx_buffer, tx_len); > + qemu_receice_packet(nc, s->tx_buffer, tx_Len); Did you test compilation of that code? It looks like a typo ... Regards Stefan W.
On 2/24/21 7:13 AM, Stefan Weil wrote: > Am 24.02.21 um 06:53 schrieb Jason Wang: > >> This patch switches to use qemu_receive_packet() which can detect >> reentrancy and return early. >> >> Signed-off-by: Jason Wang <jasowang@redhat.com> >> --- >> hw/net/dp8393x.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c >> index 205c0decc5..019d4fe435 100644 >> --- a/hw/net/dp8393x.c >> +++ b/hw/net/dp8393x.c >> @@ -506,7 +506,7 @@ static void >> dp8393x_do_transmit_packets(dp8393xState *s) >> s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; >> if (nc->info->can_receive(nc)) { >> s->loopback_packet = 1; >> - nc->info->receive(nc, s->tx_buffer, tx_len); >> + qemu_receice_packet(nc, s->tx_buffer, tx_Len); > > > Did you test compilation of that code? It looks like a typo ... With typo fixed: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Am 25.02.21 um 15:36 schrieb Philippe Mathieu-Daudé: > On 2/24/21 7:13 AM, Stefan Weil wrote: >> Am 24.02.21 um 06:53 schrieb Jason Wang: >> >>> This patch switches to use qemu_receive_packet() which can detect >>> reentrancy and return early. >>> >>> Signed-off-by: Jason Wang <jasowang@redhat.com> >>> --- >>> hw/net/dp8393x.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c >>> index 205c0decc5..019d4fe435 100644 >>> --- a/hw/net/dp8393x.c >>> +++ b/hw/net/dp8393x.c >>> @@ -506,7 +506,7 @@ static void >>> dp8393x_do_transmit_packets(dp8393xState *s) >>> s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; >>> if (nc->info->can_receive(nc)) { >>> s->loopback_packet = 1; >>> - nc->info->receive(nc, s->tx_buffer, tx_len); >>> + qemu_receice_packet(nc, s->tx_buffer, tx_Len); >> >> Did you test compilation of that code? It looks like a typo ... > With typo fixed: > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Plural, as I noticed later: there are two typos in the same line of code. The compiler will report both of them. Stefan
On 2021/2/25 10:42 下午, Stefan Weil wrote: > Am 25.02.21 um 15:36 schrieb Philippe Mathieu-Daudé: > >> On 2/24/21 7:13 AM, Stefan Weil wrote: >>> Am 24.02.21 um 06:53 schrieb Jason Wang: >>> >>>> This patch switches to use qemu_receive_packet() which can detect >>>> reentrancy and return early. >>>> >>>> Signed-off-by: Jason Wang <jasowang@redhat.com> >>>> --- >>>> hw/net/dp8393x.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c >>>> index 205c0decc5..019d4fe435 100644 >>>> --- a/hw/net/dp8393x.c >>>> +++ b/hw/net/dp8393x.c >>>> @@ -506,7 +506,7 @@ static void >>>> dp8393x_do_transmit_packets(dp8393xState *s) >>>> s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; >>>> if (nc->info->can_receive(nc)) { >>>> s->loopback_packet = 1; >>>> - nc->info->receive(nc, s->tx_buffer, tx_len); >>>> + qemu_receice_packet(nc, s->tx_buffer, tx_Len); >>> >>> Did you test compilation of that code? It looks like a typo ... >> With typo fixed: >> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > > Plural, as I noticed later: there are two typos in the same line of > code. The compiler will report both of them. > > Stefan Yes, my bad. Will post V2. Thanks
diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index 205c0decc5..019d4fe435 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; if (nc->info->can_receive(nc)) { s->loopback_packet = 1; - nc->info->receive(nc, s->tx_buffer, tx_len); + qemu_receice_packet(nc, s->tx_buffer, tx_Len); } } else { /* Transmit packet */
This patch switches to use qemu_receive_packet() which can detect reentrancy and return early. Signed-off-by: Jason Wang <jasowang@redhat.com> --- hw/net/dp8393x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)