Package: vzctl
Version: 3.0.24-12
Severity: important
Tags: squeeze patch
Hello,
I have just installed a VZ container under Wheezy (to be). Unfortunately,
it hangs when trying to enter the container.
It seems this is due to the bash version (4.2-4) that is installed
inside the container.
Attached is a full strace(1) of the following command:
----
vzctl exec 103 strace /bin/bash
----
A bug report has been opened and corrected in Ubuntu [1], in
vzctl (3.0.22-5ubuntu1) hardy.
This bug has already been corrected upstream [2][3]; it would be nice to
have this included in Squeeze, as it could potentially give the possibility
to a VZ container user to the power to lock the owner of the physical machine
out of the container (DoS).
The patch can be found upstream [3]. I have tested it against the current
package, and it resolves the issue perfectly.
I'm not sure if this is a good enough reason to request a freeze exception.
Thanks for your time.
Cheers,
Ignace M
[1] https://bugs.launchpad.net/ubuntu/+source/vzctl/+bug/732322
[2] http://openvz.org/pipermail/announce/2011-March/000200.html
[3]
http://git.openvz.org/?p=vzctl;a=commitdiff;h=e7c40ee697606e43d6242fd3c124e370588ae26f
~# vzctl exec 103 strace bash
execve("/bin/bash", ["bash"], [/* 6 vars */]) = 0
brk(0) = 0xf65000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f852000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10631, ...}) = 0
mmap(NULL, 10631, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f465f84f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libtinfo.so.5", O_RDONLY) = 3
read(3,
"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\323\0\0\0\0\0\0"..., 832) =
832
fstat(3, {st_mode=S_IFREG|0644, st_size=167952, ...}) = 0
mmap(NULL, 2264608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465f40c000
mprotect(0x7f465f431000, 2093056, PROT_NONE) = 0
mmap(0x7f465f630000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f465f630000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14768, ...}) = 0
mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465f208000
mprotect(0x7f465f20a000, 2097152, PROT_NONE) = 0
mmap(0x7f465f40a000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f465f40a000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3
read(3,
"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\357\1\0\0\0\0\0"..., 832) =
832
fstat(3, {st_mode=S_IFREG|0755, st_size=1583120, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f84e000
mmap(NULL, 3696728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465ee81000
mprotect(0x7f465effe000, 2097152, PROT_NONE) = 0
mmap(0x7f465f1fe000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17d000) = 0x7f465f1fe000
mmap(0x7f465f203000, 18520, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f465f203000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f84d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f84c000
arch_prctl(ARCH_SET_FS, 0x7f465f84d700) = 0
mprotect(0x7f465f1fe000, 16384, PROT_READ) = 0
mprotect(0x7f465f40a000, 4096, PROT_READ) = 0
mprotect(0x7f465f630000, 16384, PROT_READ) = 0
mprotect(0x6e4000, 4096, PROT_READ) = 0
mprotect(0x7f465f854000, 4096, PROT_READ) = 0
munmap(0x7f465f84f000, 10631) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd23f6040) = -1 EINVAL (Invalid
argument)
brk(0) = 0xf65000
brk(0xf66000) = 0xf66000
brk(0xf67000) = 0xf67000
getuid() = 0
getgid() = 0
geteuid() = 0
getegid() = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
brk(0xf68000) = 0xf68000
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd23f61c0) = -1 EINVAL (Invalid
argument)
open("/proc/meminfo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f851000
read(3, "MemTotal: 12287708 kB\nMemF"..., 1024) = 532
close(3) = 0
munmap(0x7f465f851000, 4096) = 0
brk(0xf69000) = 0xf69000
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f465eeb34f0},
{SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f465eeb34f0},
{SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f465eeb34f0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f465eeb34f0}, {SIG_DFL, [],
0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f465eeb34f0}, {SIG_DFL, [],
SA_RESTORER, 0x7f465eeb34f0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f465eeb34f0}, {SIG_DFL, [],
0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f465eeb34f0}, {SIG_DFL, [],
SA_RESTORER, 0x7f465eeb34f0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f465eeb34f0}, {SIG_DFL, [],
SA_RESTORER, 0x7f465eeb34f0}, 8) = 0
uname({sys="Linux", node="foo.bar.com", ...}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getpid() = 1580
getppid() = 1579
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/usr/local/sbin/bash", 0x7fffd23f5ef0) = -1 ENOENT (No such file or
directory)
stat("/usr/local/bin/bash", 0x7fffd23f5ef0) = -1 ENOENT (No such file or
directory)
stat("/usr/sbin/bash", 0x7fffd23f5ef0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/bash", 0x7fffd23f5ef0) = -1 ENOENT (No such file or directory)
stat("/sbin/bash", 0x7fffd23f5ef0) = -1 ENOENT (No such file or directory)
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/bash", X_OK) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/bash", R_OK) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/bash", X_OK) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=975488, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/bash", R_OK) = 0
brk(0xf6a000) = 0xf6a000
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
close(3) = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
close(3) = 0
open("/etc/nsswitch.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=475, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f465f851000
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 475
brk(0xf6b000) = 0xf6b000
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f465f851000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10631, ...}) = 0
mmap(NULL, 10631, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f465f84f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\22\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31584, ...}) = 0
brk(0xf6c000) = 0xf6c000
mmap(NULL, 2127048, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465ec79000
mprotect(0x7f465ec80000, 2093056, PROT_NONE) = 0
mmap(0x7f465ee7f000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f465ee7f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 @\0\0\0\0\0\0"..., 832)
= 832
fstat(3, {st_mode=S_IFREG|0644, st_size=89056, ...}) = 0
mmap(NULL, 2194128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465ea61000
mprotect(0x7f465ea76000, 2093056, PROT_NONE) = 0
mmap(0x7f465ec75000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f465ec75000
mmap(0x7f465ec77000, 6864, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f465ec77000
close(3) = 0
mprotect(0x7f465ec75000, 4096, PROT_READ) = 0
mprotect(0x7f465ee7f000, 4096, PROT_READ) = 0
munmap(0x7f465f84f000, 10631) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10631, ...}) = 0
mmap(NULL, 10631, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f465f84f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \0\0\0\0\0\0"..., 832)
= 832
fstat(3, {st_mode=S_IFREG|0644, st_size=43552, ...}) = 0
brk(0xf6d000) = 0xf6d000
mmap(NULL, 2139320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465e856000
mprotect(0x7f465e860000, 2093056, PROT_NONE) = 0
mmap(0x7f465ea5f000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f465ea5f000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200!\0\0\0\0\0\0"...,
832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=47616, ...}) = 0
mmap(NULL, 2143624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f465e64a000
mprotect(0x7f465e655000, 2093056, PROT_NONE) = 0
mmap(0x7f465e854000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f465e854000
close(3) = 0
mprotect(0x7f465e854000, 4096, PROT_READ) = 0
mprotect(0x7f465ea5f000, 4096, PROT_READ) = 0
munmap(0x7f465f84f000, 10631) = 0
brk(0xf6e000) = 0xf6e000
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
lseek(3, 0, SEEK_CUR) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=852, ...}) = 0
mmap(NULL, 852, PROT_READ, MAP_SHARED, 3, 0) = 0x7f465f851000
lseek(3, 852, SEEK_SET) = 852
munmap(0x7f465f851000, 852) = 0
close(3) = 0
brk(0xf6f000) = 0xf6f000
getpgrp() = 1579
rt_sigaction(SIGCHLD, {0x4463c0, [], SA_RESTORER|SA_RESTART, 0x7f465eeb34f0},
{SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f465eeb34f0}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
fcntl(0, F_GETFL) = 0 (flags O_RDONLY)
fstat(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
read(0, ^C