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 */
|