Re: [Linux-ia64] ia32 subsystem in 2.5.67

From: Arun Sharma <arun.sharma_at_intel.com>
Date: 2003-04-17 07:09:38
David Mosberger <davidm@napali.hpl.hp.com> writes:

Hi David,

> It looks like dynamic x86 binaries have a problem once again (or
> still).  If I try to run any shared x86 binaries, I get:
> 
> 	$ ls.x86
> 	ls.x86: error while loading shared libraries: librt.so.1: cannot map zero-fill pages: Error 14
> 
> Would someone take a look?

We saw this behavior with 2.5.59 also. The attached work around should
take care of the problem temporarily. Last time this happened, IA-32
programs were doing mmaps, whose size was one page bigger than the
size of the underlying file (even after rounding up the file size).

I never got a chance to figure out why glibc was doing mmaps with the
"wrong" size. Also, I failed to reproduce the problem with a more
recent (RH 8.0) glibc.

Which version of IA-32 glibc were you using ?

        -Arun

--- linux-2.5.59/arch/ia64/ia32/sys_ia32.c-	Wed Apr 16 13:39:59 2003
+++ linux-2.5.59/arch/ia64/ia32/sys_ia32.c	Wed Apr 16 13:40:15 2003
@@ -245,8 +245,7 @@
 		return -ENOMEM;
 
 	if (old_prot)
-		if (copy_from_user(page, (void *) PAGE_START(start), PAGE_SIZE))
-			return -EFAULT;
+		copy_from_user(page, (void *) PAGE_START(start), PAGE_SIZE);
 
 	down_write(&current->mm->mmap_sem);
 	{
Received on Wed Apr 16 14:09:44 2003

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