Description of problem:
Since the inclusion of the patch for bug 620508, ia64 xen guest networking fails to function. However, this is probably a good thing, since it would appears that its historically been silently corrupting data.
Version-Release number of selected component (if applicable):
Install ia64 xen guest, update to 2.6.18-215.el5xen
Log snippets from 214 and 215 kernels:
Sep 3 12:55:05 dhcp71-32 kernel: Linux version 2.6.18-214.el5xen (firstname.lastname@example.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Aug 27 18:15:55 EDT 2010
Sep 3 12:55:09 dhcp71-32 kernel: netfront: Initialising virtual ethernet driver.
Sep 3 12:55:09 dhcp71-32 kernel: netfront: device eth0 has flipping receive path.
Sep 3 13:57:19 dhcp71-32 kernel: Linux version 2.6.18-215.el5.testxen (email@example.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Sep 3 12:17:32 EDT 2010
Sep 3 13:57:24 dhcp71-32 kernel: netfront: Initialising virtual ethernet driver.
Sep 3 13:57:24 dhcp71-32 kernel: alloc_dev: Private data too big.
Sep 3 13:57:24 dhcp71-32 kernel: create_netdev> alloc_etherdev failed.
Sep 3 13:57:24 dhcp71-32 kernel: vif vif-0: 12 creating netdev
Sep 3 13:57:24 dhcp71-32 kernel: vif vif-0: 12 xenbus_dev_probe on device/vif/0
Adding Drew to the cc list so he's aware of this one too.
Since its a data corruptor, its likely we're going to want it for z-stream as well, so also adding z-stream folks to cc list.
Created attachment 442975 [details]
Still need to test it, but heres my first pass at a patch to fix this. Basically just allocate a wrapper struct as the netdev_private data, which contains a pointer to the separately allocated netfront_info struct that is more than 65kb long. Should do the trick. Will test it out ASAP.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
(In reply to comment #3)
> Created attachment 442975 [details]
> utested patch
> Still need to test it, but heres my first pass at a patch to fix this.
> Basically just allocate a wrapper struct as the netdev_private data, which
> contains a pointer to the separately allocated netfront_info struct that is
> more than 65kb long. Should do the trick. Will test it out ASAP.
Your patch should set err = -ENOMEM. The ERR_PTR() cast is already made when we return from the function.
Actually, since the only error it can return is -ENOMEM, we can get rid of err variable and ERR_PTR(-ENOMEM) all the time.
Created attachment 446082 [details]
heres a version of the patch that I've tested and validated, and a brew build of it. I'll post it shortly
You can download this test kernel from http://people.redhat.com/jwilson/el5
Detailed testing feedback is always welcomed.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Recently applied patch introduced a bug, which caused the Xen guest networking not to work properly on 64-bit Itanium processors. However, this bug also revealed an issue, which may have led to a data corruption. With this update, both errors have been fixed, and Xen virtual guest networking now works as expected.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.