[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Dom0 crashing on x86_64
This patch fixes x86_64 domU network crashes dom0. This bug is caused by the size of netif_tx_request_t/netif_rx_response_t on x86_64, which is using 8 byte alignment. When PACKET is removed by changeset 5648, their sizes are changed from 12 to 16, then netif_tx_interface_t/netif_rx_interface_t will overflow a page. Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx> Signed-off-by: Xiaofeng Ling <xiaofeng.lingi@xxxxxxxxx> -Xin diff -r 1d026c7023d2 xen/include/public/io/netif.h --- a/xen/include/public/io/netif.h Thu Jul 14 23:48:06 2005 +++ b/xen/include/public/io/netif.h Fri Jul 15 19:55:23 2005 @@ -21,11 +21,11 @@ s8 status; } netif_tx_response_t; -typedef struct { +typedef struct netif_rx_request { u16 id; /* Echoed in response message. */ } netif_rx_request_t; -typedef struct { +typedef struct netif_rx_response { memory_t addr; /* Machine address of packet. */ u16 csum_valid:1; /* Protocol checksum is validated? */ u16 id:15; @@ -46,8 +46,13 @@ #define MASK_NETIF_RX_IDX(_i) ((_i)&(NETIF_RX_RING_SIZE-1)) #define MASK_NETIF_TX_IDX(_i) ((_i)&(NETIF_TX_RING_SIZE-1)) +#ifdef __x86_64__ +#define NETIF_TX_RING_SIZE 128 +#define NETIF_RX_RING_SIZE 128 +#else #define NETIF_TX_RING_SIZE 256 #define NETIF_RX_RING_SIZE 256 +#endif /* This structure must fit in a memory page. */ typedef struct netif_tx_interface { _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |