The LTP test fails with: msgctl01 1 FAIL : qs_buf.msg_qbytes did not change msgctl02 1 FAIL : qs_buf.msg_qbytes value is not expected msgsnd01 1 FAIL : queue bytes != MSGSIZE msgsnd01 2 FAIL : queue message != 1 All the above failures is fixed by the attached patch. The msgbuf.h file is now a copy from i386, instead of alpha. I guess the fix goes for 64-bit kernel as well. /Carsten -- _ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com
Index: include/asm-mips/msgbuf.h =================================================================== RCS file: /home/repository/sw/linux-2.4.18/include/asm-mips/msgbuf.h,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 msgbuf.h --- include/asm-mips/msgbuf.h 4 Mar 2002 11:13:24 -0000 1.1.1.1 +++ include/asm-mips/msgbuf.h 25 Jun 2002 09:30:03 -0000 @@ -2,26 +2,30 @@ #define _ASM_MSGBUF_H /* - * The msqid64_ds structure for alpha architecture. + * The msqid64_ds structure for i386 architecture. * Note extra padding because this structure is passed back and forth * between kernel and user space. * * Pad space is left for: - * - 2 miscellaneous 64-bit values + * - 64-bit time_t to solve y2038 problem + * - 2 miscellaneous 32-bit values */ struct msqid64_ds { struct ipc64_perm msg_perm; __kernel_time_t msg_stime; /* last msgsnd time */ + unsigned long __unused1; __kernel_time_t msg_rtime; /* last msgrcv time */ + unsigned long __unused2; __kernel_time_t msg_ctime; /* last change time */ + unsigned long __unused3; unsigned long msg_cbytes; /* current number of bytes on queue */ unsigned long msg_qnum; /* number of messages in queue */ unsigned long msg_qbytes; /* max number of bytes on queue */ __kernel_pid_t msg_lspid; /* pid of last msgsnd */ __kernel_pid_t msg_lrpid; /* last receive pid */ - unsigned long __unused1; - unsigned long __unused2; + unsigned long __unused4; + unsigned long __unused5; }; #endif /* _ASM_MSGBUF_H */