Re: [PATCH] testsuite: Fix uname() during glibc startup

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

 



Hi,

On Thu, Mar 6, 2014 at 2:03 PM, Michal Marek <mmarek@xxxxxxx> wrote:
> In a specific configuration (chroot with the linux32 personality), the
> modprobe_install_cmd_loop test failed, because the bash process handling
> the install command segfaulted. The backtrace showed a uname() call
> during libpthread initialization, at which point the environ pointer
> hadn't been initialized yet:
>
>         Program terminated with signal SIGSEGV, Segmentation fault.
>         #0  0x080c1591 in getenv (name=<optimized out>,
>             name@entry=0xf775f850 "TESTSUITE_UNAME_R") at getenv.c:81
>         81            for (i = 0, len = strlen (name); environ[i]; i++)
>         (gdb) bt
>         #0  0x080c1591 in getenv (name=<optimized out>,
>             name@entry=0xf775f850 "TESTSUITE_UNAME_R") at getenv.c:81
>         #1  0xf775f754 in uname (u=u@entry=0xff946350) at testsuite/uname.c:32
>         #2  0xf74ffc6c in is_smp_system ()
>             at ../nptl/sysdeps/unix/sysv/linux/i386/smp.h:39
>         #3  __pthread_initialize_minimal_internal () at nptl-init.c:460
>         #4  0xf74fe32c in _init () at ../sysdeps/i386/crti.S:74
>         #5  0x00000000 in ?? ()
>         (gdb) p environ
>         $1 = (char **) 0x0
>
> I don't know why it only happend in the chroot, but glibc can call its
> own functions and impose any restrictions before main() is started, so
> we have to adapt.
>
> Also, do not return error if there is an environment, but the
> environment variable is not found. If uname() is called by kmod, then
> the respective test will simply fail later. If it's something else
> calling uname(), then we do not want to disturb the program.
> ---
>  testsuite/uname.c | 24 ++++++++++++++++--------
>  1 file changed, 16 insertions(+), 8 deletions(-)

Applied. Thanks

--
Lucas De Marchi
--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux