Bug 33891

Summary: wrong module prefix on CONFIG_2GB kernels
Product: [Retired] Red Hat Linux Reporter: Need Real Name <jan.iven+rh>
Component: kernelAssignee: Michael K. Johnson <johnsonm>
Status: CLOSED WONTFIX QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-03-29 16:14:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-03-29 16:14:23 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.17-14.0smp i686; en-US; 0.8.1)
Gecko/20010222


.../include/rhconfig.h tries to guess whether the current kernel is
SMP or UP. Accordingly, the module name mangling prefix get set to "smp" or
is left empty.

However, if the kernel has been compiled with CONFIG_2GB=y, the prefix
should be "smp2gig" or "2gig" (SMP/UP). Otherwise newly compiled modules
(OSS/vmware/..) won't work on this kernel.


Reproducible: Always
Steps to Reproduce:
0. run a 2.2.17-14 kernel recompiled with CONFIG_2GB=y

1.cat > testmod.c
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif        
int init_module() {
  printk("Hello, world - this is the kernel speaking\n");
  return 0;
}
void cleanup_module() {
  printk("Short is the life of a kernel module\n");
}


2.gcc -D__KERNEL__ -DMODULE -c testmod.c -o testmod.o
3.sudo insmod ./testmod.o
4.sudo grep printk_ /proc/ksyms
	

Actual Results:  sudo insmod ./testmod.o
./testmod.o: unresolved symbol printk_Rsmp1b7d4074
sudo grep printk_ /proc/ksyms
80117f98 printk_Rsmp2gig1b7d4074


Expected Results:  the function printk() should have been mangled to
printk_Rsmp2gig1b7d4074. Prefix  "smp2gig" instead of the "smp" it actually
got.


uname -a

Linux asis-w2 2.2.17-14.0smp #1 SMP Fri Feb 16 15:06:14 CET 2001 i686 unknown

kernel-2.2.17-14 recompiled with the RH spec file, just changed the
relevant config option.

Probably the "initscripts" package would have to be changed since it is
actually responsible for creating /boot/kernel.h which in turn is used by
.../linux/rhconfig.h

Comment 1 Michael K. Johnson 2001-03-29 16:32:52 UTC
While we added this convention for the 2.4 kernel, we will not be
retrofitting it to the 2.2 kernel at this time.