Package: libc6 Version: 2.3.2-7 Severity: important ttyname failes on devfs systems if there are more than 21 allocated pts and the readlink call failes (suid/sgid binary). trace with 18 pts: readlink("/proc/self/fd/0", 0x8049628, 4095) = -1 EACCES (Permission denied) fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 5), ...}) = 0 stat64("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory) open("/dev/pts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 20 entries */, 1024) = 480 getdents64(3, /* 0 entries */, 1024) = 0 close(3) = 0 stat64("/dev/vc", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 open("/dev/vc", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 42 entries */, 1024) = 1008 stat64("/dev/vc/5", {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 5), ...}) = 0 close(3) = 0 trace with 26 pts: readlink("/proc/self/fd/0", 0x8049628, 4095) = -1 EACCES (Permission denied) fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 5), ...}) = 0 stat64("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory) open("/dev/pts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 29 entries */, 1024) = 696 stat64("/dev/pts/22", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 22), ...}) = 0 getdents64(3, /* 0 entries */, 1024) = 0 close(3) = 0 stat64("/dev/vc", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 open("/dev/vc", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 42 entries */, 1024) = 1008 stat64("/dev/pts5", 0xbffff7a0) = -1 ENOENT (No such file or directory) getdents64(3, /* 24 entries */, 1024) = 576 getdents64(3, /* 0 entries */, 1024) = 0 close(3) = 0 stat64("/dev/tts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 open("/dev/tts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 4 entries */, 1024) = 96 getdents64(3, /* 0 entries */, 1024) = 0 close(3) = 0 open("/dev", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 39 entries */, 1024) = 1016 getdents64(3, /* 22 entries */, 1024) = 632 getdents64(3, /* 0 entries */, 1024) = 0 close(3) = 0 open("/dev", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 39 entries */, 1024) = 1016 stat64("/dev/..", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/dev/.", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat64("/dev/.devfsd", {st_mode=S_IFCHR|0600, st_rdev=makedev(8, 0), ...}) = 0 stat64("/dev/cpu", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat64("/dev/shm", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat64("/dev/mem", {st_mode=S_IFCHR|0640, st_rdev=makedev(1, 1), ...}) = 0 [...] -- Kirk to Enterprise -- beam down yeoman Rand and a six-pack.
Attachment:
signature.asc
Description: Digital signature