Bug 474667 - Need to build xen-platform-pci as a module and not into the kernel
Summary: Need to build xen-platform-pci as a module and not into the kernel
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel-xen
Version: 4.8
Hardware: All
OS: Linux
low
urgent
Target Milestone: rc
: ---
Assignee: Don Dutile (Red Hat)
QA Contact: Martin Jenner
URL:
Whiteboard:
: 461293 (view as bug list)
Depends On:
Blocks: RHEL4u8_relnotes
TreeView+ depends on / blocked
 
Reported: 2008-12-04 19:51 UTC by Greg Marsden
Modified: 2009-05-18 19:36 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, upgrading a fully virtualized guest system from Red Hat Enterprise Linux 4.6 (with the kmod-xenpv package installed) to newer versions of Red Hat Enterprise Linux 4 resulted in an improper module dependency between the built-in kernel modules: xen-vbd.ko & xen-vnif.ko and the older xen-platform-pci.ko module. Consequently, file systems mounted via the xen-vbd.ko block driver, and guest networking using the xen-vnif.ko network driver would fail. In Red Hat Enterprise Linux 4.7, the functionality in the xen-platform-pci.ko module was built-in to the kernel. However, when a formally loadable kernel module becomes a part of the kernel, the symbol dependency check for existing loadable modules is not accounted for in the module-init-tools correctly. With this update, the xen-platform-pci.ko functionality has been removed from the built-in kernel and placed back into a loadable module, now allowing the module-init-tools to check and create the proper dependencies during a kernel upgrade.
Clone Of:
Environment:
Last Closed: 2009-05-18 19:36:07 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:1024 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 4.8 kernel security and bug fix update 2009-05-18 14:57:26 UTC

Description Greg Marsden 2008-12-04 19:51:19 UTC
+++ This bug was initially created as a clone of Bug #472504 +++

Same issue arises withe RHEL4.7.

Description of problem:

In RHEL5.2, the virtualization team shipped a version of the "HVM" drivers to allow full-virt guests to have accelerated hardware access. These drivers were supplied using a Driver Update package, which is to be deprecated in RHEL5.3.

Additionally to deprecating these external modules and supplying a replacement directly in the RHEL5.3 kernel, the kernel configuration was also changed. This change results in one of the modules being built directly into the kernel, rather than having all built as external loadable entities. As a direct consequence, module dependencies are misgenerated whenever a system has the existing external drivers installed alongside the 5.3 kernel.

The fix is to build the RHEL5.3 kernel with the modules external rather than directly built into the kernel. The fix has been tested and should be considered as a matter of urgency for the 5.3 kernel.

--- Additional comment from jcm on 2008-11-21 03:57:25 EDT ---

Created an attachment (id=324282)
make the xenpv drivers fully modular in RHEL5.3

--- Additional comment from ddutile on 2008-11-26 17:01:05 EDT ---

Created an attachment (id=324808)
Updated / final /complete patch for 5.3

--- Additional comment from dzickus on 2008-12-02 17:20:37 EDT ---

in kernel-2.6.18-125.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 2 Don Dutile (Red Hat) 2009-01-06 19:46:55 UTC
*** Bug 461293 has been marked as a duplicate of this bug. ***

Comment 3 Vivek Goyal 2009-01-12 14:50:52 UTC
Committed in 78.27.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 6 Ryan Lerch 2009-01-29 03:07:50 UTC
Release note added. If any revisions are required, please set the 
"requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

New Contents:
This fixes a bug which only occurs on fully virtualized (FV) (Xen) RHEL4.6
guests that also have the kmod-xenpv package installed.
Note: New installs of RHEL4.7 or RHEL4.8 are not affected by this fix.


Cause: If upgrading a fully-virtualized (Xen) guest system from RHEL4.6 with
the kmod-xenpv package installed to RHEL4.8, an improper module dependency
between the built-in xen-vbd.ko and xen-vnif.ko modules and the (older)
kmod-xenpv package's xen-platform-pci.ko.

Consequence: 
     File systems mounted via the xen-vbd.ko block driver, and guest networking
using the xen-vnif.ko network driver would fail to mount filesystems, and
networking will not configure due to failed kernel module loading.

Fix: 
     In RHEL4.7, the functionality in xen-platform-pci.ko was built-in to the
kernel, to mimic the built-in of the equivalent functionality for a
paravirtualized kernel (kernel-xen).  When a formally loadable kernel module
becomes a part of the kernel, though, the symbol dependency check for existing
loadable modules is not accounted for in the module-init-tools correctly, which
is the package that performs the module dependency and initrd dependency checks
and builds when a kernel is upgraded.  
     So, by moving the xen-platform-pci.ko functionality out of the built-in
kernel and back to a loadable module, the module-init-tools can check and
create the proper dependencies during a kernel upgrade (from a FV, RHEL4.6 +
kmod-xenpv system to a RHEL4.8-based system).

Result:
    Loadable module dependencies between xen-vbd.ko and xen-vnif.ko and symbols
in xen-platform-pci.ko are correctly resolved, and filesystems and networking
dependent on these modules, respectively, continue to work after an upgrade
from RHEL4.6 to RHEL4.8.

Comment 12 Ryan Lerch 2009-04-08 03:01:38 UTC
Release note updated. If any revisions are required, please set the 
"requires_release_notes"  flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

Diffed Contents:
@@ -1,33 +1,3 @@
-This fixes a bug which only occurs on fully virtualized (FV) (Xen) RHEL4.6
-guests that also have the kmod-xenpv package installed.
-Note: New installs of RHEL4.7 or RHEL4.8 are not affected by this fix.
+Previously, upgrading a fully virtualized guest system from Red Hat Enterprise Linux 4.6 (with the kmod-xenpv package installed) to newer versions of Red Hat Enterprise Linux 4 resulted in an improper module dependency between the built-in kernel modules: xen-vbd.ko & xen-vnif.ko and the older xen-platform-pci.ko module. Consequently, file systems mounted via the xen-vbd.ko block driver, and guest networking using the xen-vnif.ko network driver would fail.
 
-
+In Red Hat Enterprise Linux 4.7, the functionality in the xen-platform-pci.ko module was built-in to the kernel. However, when a formally loadable kernel module becomes a part of the kernel, the symbol dependency check for existing loadable modules is not accounted for in the module-init-tools correctly. With this update, the xen-platform-pci.ko functionality has been removed from the built-in kernel and placed back into a loadable module, now allowing the module-init-tools to check and create the proper dependencies during a kernel upgrade.-Cause: If upgrading a fully-virtualized (Xen) guest system from RHEL4.6 with
-the kmod-xenpv package installed to RHEL4.8, an improper module dependency
-between the built-in xen-vbd.ko and xen-vnif.ko modules and the (older)
-kmod-xenpv package's xen-platform-pci.ko.
-
-Consequence: 
-     File systems mounted via the xen-vbd.ko block driver, and guest networking
-using the xen-vnif.ko network driver would fail to mount filesystems, and
-networking will not configure due to failed kernel module loading.
-
-Fix: 
-     In RHEL4.7, the functionality in xen-platform-pci.ko was built-in to the
-kernel, to mimic the built-in of the equivalent functionality for a
-paravirtualized kernel (kernel-xen).  When a formally loadable kernel module
-becomes a part of the kernel, though, the symbol dependency check for existing
-loadable modules is not accounted for in the module-init-tools correctly, which
-is the package that performs the module dependency and initrd dependency checks
-and builds when a kernel is upgraded.  
-     So, by moving the xen-platform-pci.ko functionality out of the built-in
-kernel and back to a loadable module, the module-init-tools can check and
-create the proper dependencies during a kernel upgrade (from a FV, RHEL4.6 +
-kmod-xenpv system to a RHEL4.8-based system).
-
-Result:
-    Loadable module dependencies between xen-vbd.ko and xen-vnif.ko and symbols
-in xen-platform-pci.ko are correctly resolved, and filesystems and networking
-dependent on these modules, respectively, continue to work after an upgrade
-from RHEL4.6 to RHEL4.8.

Comment 13 Jan Tluka 2009-04-16 10:04:49 UTC
Patch is in -88.EL kernel.

Comment 16 errata-xmlrpc 2009-05-18 19:36:07 UTC
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.

http://rhn.redhat.com/errata/RHSA-2009-1024.html


Note You need to log in before you can comment on or make changes to this bug.