Bug 180405

Summary: kabi violation in multi-core detection patch
Product: Red Hat Enterprise Linux 4 Reporter: Geoff Gustafson <grgustaf>
Component: kernelAssignee: Geoff Gustafson <grgustaf>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.3CC: akeshava, jbaron
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2006-0132 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-03-07 21:22:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 168429    
Attachments:
Description Flags
patch reversing kabi breakage none

Description Geoff Gustafson 2006-02-07 21:12:53 UTC
Description of problem:
The patch for multi-core/multi-thread detection (BZ 164470) had a kabi
violation. This was caught in the RHEL3 version but had already been accepted
into RHEL4. I realized this later, and worked with Intel folks to port and test
a patch.

This new patch for RHEL4 is very similar to the RHEL3 version. It removes the
six added lines from cpuinfo_ia64 and puts them in a new per_cpu structure
cpuinfo_ia64_topology. Though it's unfortunately 63 lines of change, it's pretty
straightforward to see that it is safe. Most of the code is renaming to use the
new structure. Note that the check_for_new_socket and identify_siblings
functions were newly created with the original patch.

This patch applies against the -29 kernel. I've built and tested it on the
Montecito platform where the multi-core data still shows up correctly in
/proc/cpuinfo. The patch only touches ia64 arch code.

Anil has shown that various in-kernel modules refer to the per_cpu__cpu_info
object that cpuinfo_ia64. The fear is that external modules could do the same.

Version-Release number of selected component (if applicable):
2.6.9-29.EL

Comment 1 Geoff Gustafson 2006-02-07 21:12:53 UTC
Created attachment 124340 [details]
patch reversing kabi breakage

Comment 3 Anil S Keshavamurthy 2006-02-08 19:33:03 UTC
following is the list of in tree modules using this exported symbol.

cat /proc/kallsyms |grep per_cpu_cpu_info
> ffffffffffff0028 U per_cpu__cpu_info    [lp]
> ffffffffffff0028 U per_cpu__cpu_info    [parport]
> ffffffffffff0028 U per_cpu__cpu_info    [yenta_socket]
> ffffffffffff0028 U per_cpu__cpu_info    [pcmcia_core]
> ffffffffffff0028 U per_cpu__cpu_info    [uhci_hcd]
> ffffffffffff0028 U per_cpu__cpu_info    [ehci_hcd]
> ffffffffffff0028 U per_cpu__cpu_info    [e1000]
> ffffffffffff0028 U per_cpu__cpu_info    [mptscsi]
> ffffffffffff0028 U per_cpu__cpu_info    [mptbase]
> ffffffffffff0028 U per_cpu__cpu_info    [scsi_mod
>   

Comment 7 Red Hat Bugzilla 2006-03-07 21:22:58 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 the 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-2006-0132.html