patch for IA64: fix do_sys32_msgrcv bad address error.

From: R Sreelatha (rsreelat@in.ibm.com)
Date: Thu Sep 05 2002 - 09:16:40 EST


In sys_ia32.c file, in the do_sys32_msgrcv() function call, the value of
ipck.msgp is interpreted as a 64 bit address, whereas it is a 32 bit
address.
Hence, do_sys32_msgrcv() finally returns EFAULT(bad address) error.
The patch below takes care of this by type casting ipck.msgp to type u32.
The patch is created for 2.5.32 version of the kernel.

--- arch/ia64/ia32/sys_ia32.c Thu Sep 5 19:13:02 2002
+++ /home/sree/bug1054/sys_ia32.c Thu Sep 5 19:12:08 2002
@@ -2263,7 +2263,7 @@
            err = -EFAULT;
            if (copy_from_user(&ipck, uipck, sizeof(struct ipc_kludge)))
                  goto out;
- uptr = (void *)A(ipck.msgp);
+ uptr = (void *)A((u32)ipck.msgp);
            msgtyp = ipck.msgtyp;
      }
      err = -ENOMEM;

I am not subscribed to lkml. Please send your replies to
"rsreelat@in.ibm.com".

regards,
Sreelatha

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:25 EST