NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/48518: compat_linux_common bug



>Number:         48518
>Category:       kern
>Synopsis:       Linux programs won't run correctly
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 13 20:00:00 +0000 2014
>Originator:     Reinoud Zandijk
>Release:        NetBSD 6.99.28
>Organization:
NetBSD
        
>Environment:
        
        
System: NetBSD aspire 6.99.28 NetBSD 6.99.28 (GENERIC) #28: Mon Jan 13 12:50:44 
CET 2014 
reinoud@aspire:/usr/sources/cvs.netbsd.org/src-clean/sys/arch/i386/compile/GENERIC
 i386
Architecture: i386
Machine: i386

Runing a Linux binary: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped

>Description:

When trying to run Linux binaries on a -current kernel the programs start
correctly but are given unreliable argv, argc and environment vars. This
results in programs failing due to run correctly due to them missing command
line arguments like their name or running in a corrupted environment resulting
in odd things like not being able to read their home directory.

The programs used to run fine on the netbsd-6 branch.


>How-To-Repeat:
Run a Linux binary and see that the results are not the same as they used to
be, programs not printing their names correctly, complaining about missing
argument, excess garbage at the end of command line processing or just plainly
not being able to find things like their home directory.

        
>Fix:
Revert sys/compat/linux/common/linux_exec_elf32.c back to v1.86:

/* $NetBSD: linux_exec_elf32.c,v 1.86 2012/02/12 16:34:10 matt Exp $ */

and see that the programs run again as expected.

        

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index