[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/arm/musicpal: Remove nonexistent CDTP2, CDTP
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH] hw/arm/musicpal: Remove nonexistent CDTP2, CDTP3 registers |
Date: |
Fri, 21 Feb 2014 08:15:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2014-02-18 16:28, Peter Maydell wrote:
> The ethernet device in the musicpal only has two tx queues,
> but we modelled it with four CTDP registers, presumably a
> cut and paste from the rx queue registers. Since the tx_queue[]
> array is only 2 entries long this allowed a guest to overrun
> this buffer. Remove the nonexistent registers.
>
> Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Jan Kiszka <address@hidden>
> ---
> There's no readily available documentation for this SoC,
> but I'm told the BSP for it indicates that there are
> indeed only two tx queues.
>
> hw/arm/musicpal.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index 023e875..a8d0086 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -92,8 +92,6 @@
> #define MP_ETH_CRDP3 0x4AC
> #define MP_ETH_CTDP0 0x4E0
> #define MP_ETH_CTDP1 0x4E4
> -#define MP_ETH_CTDP2 0x4E8
> -#define MP_ETH_CTDP3 0x4EC
>
> /* MII PHY access */
> #define MP_ETH_SMIR_DATA 0x0000FFFF
> @@ -308,7 +306,7 @@ static uint64_t mv88w8618_eth_read(void *opaque, hwaddr
> offset,
> case MP_ETH_CRDP0 ... MP_ETH_CRDP3:
> return s->rx_queue[(offset - MP_ETH_CRDP0)/4];
>
> - case MP_ETH_CTDP0 ... MP_ETH_CTDP3:
> + case MP_ETH_CTDP0 ... MP_ETH_CTDP1:
> return s->tx_queue[(offset - MP_ETH_CTDP0)/4];
>
> default:
> @@ -362,7 +360,7 @@ static void mv88w8618_eth_write(void *opaque, hwaddr
> offset,
> s->cur_rx[(offset - MP_ETH_CRDP0)/4] = value;
> break;
>
> - case MP_ETH_CTDP0 ... MP_ETH_CTDP3:
> + case MP_ETH_CTDP0 ... MP_ETH_CTDP1:
> s->tx_queue[(offset - MP_ETH_CTDP0)/4] = value;
> break;
> }
>
signature.asc
Description: OpenPGP digital signature