Description of problem: When a 32bit application running on a ia64 system makes a shmctl call with IPC_STAT flag junk data will be filled in the shmid_ds structure. Version-Release number of selected component (if applicable): Kernel version - 2.4.18-e.12sm How reproducible: Build the sample program given below on a 32bit machine and run it on a 64bit machine. #include <stdio.h> #include <errno.h> #include <sys/ipc.h> #include <sys/shm.h> #include <sys/types.h> #define errmsg(s,no) { printf("*** %s - %s ***\n",s,strerror(no)); exit(1); } #define FTOK_FILENAME "/sbin" #define PRJ_NO 419 int main() { key_t shmkey; int shmid; char *shmt=NULL; struct shmid_ds shdata; if ((shmkey = ftok(FTOK_FILENAME,PRJ_NO)) == -1) errmsg("ftok error",errno); if ((shmid = shmget(shmkey,1048700,IPC_CREAT|IPC_EXCL|0666)) == -1) errmsg("shmget error",errno); if((shmt=(char*)shmat(shmid,NULL,0)) == -1) errmsg("shmat error", errno); if(shmctl(shmid,IPC_STAT,&shdata) == 0) { printf("=Shared mem size==%d==\n",shdata.shm_segsz); } shmdt(shmt); shmctl(shmid,IPC_RMID,0); } Steps to Reproduce: 1.Build the above program on a 32bit machine 2.Run it on a ia64 machine with 2.1AS Actual results: =Shared mem size==1073832704== Expected results: =Shared mem size==1048700== Additional info:
2.4.18-e.12sm what kernel is that; how does it differ from the RHEL 2.1 kernel ?
The kernel version is "2.4.18-e.12smp" which is shipped with 2.1AS.
This problem does not occur on RH AS3.0. I verified that this bug has been fixed in 2.4.21 kernel version. Could you let me know as to whether it is advisable to upgrade to this kernel version or is RedHat going to release a upgrade patch or something for 2.1 AS?
RHEL2.1 is currently accepting only critical security fixes. This issue is outside the current scope of support.