IA-32 support patch: msgsnd/msgrcv return value off by 4

From: Arun Sharma <arun.sharma_at_intel.com>
Date: 2003-06-25 08:12:38
The return value of do_sys32_msgsnd() is off by 4. This seems to be a bug inherited from sparc64, fixed in the x86_64 tree in 2.5.

Please apply to both 2.4 and 2.5 trees.

	-Arun

--- linux/arch/ia64/ia32/sys_ia32.c-	2003-06-23 09:30:13.000000000 +0800
+++ linux/arch/ia64/ia32/sys_ia32.c	2003-06-23 09:29:20.000000000 +0800
@@ -2262,7 +2262,7 @@
 static int
 do_sys32_msgsnd (int first, int second, int third, void *uptr)
 {
-	struct msgbuf *p = kmalloc(second + sizeof(struct msgbuf) + 4, GFP_USER);
+	struct msgbuf *p = kmalloc(second + sizeof(struct msgbuf), GFP_USER);
 	struct msgbuf32 *up = (struct msgbuf32 *)uptr;
 	mm_segment_t old_fs;
 	int err;
@@ -2304,12 +2304,12 @@
 		msgtyp = ipck.msgtyp;
 	}
 	err = -ENOMEM;
-	p = kmalloc(second + sizeof(struct msgbuf) + 4, GFP_USER);
+	p = kmalloc(second + sizeof(struct msgbuf), GFP_USER);
 	if (!p)
 		goto out;
 	old_fs = get_fs();
 	set_fs(KERNEL_DS);
-	err = sys_msgrcv(first, p, second + 4, msgtyp, third);
+	err = sys_msgrcv(first, p, second, msgtyp, third);
 	set_fs(old_fs);
 	if (err < 0)
 		goto free_then_out;



-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Jun 24 18:13:01 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:15 EST