Bernd Schmidt
62568510b8
Fix timeouts in sys_pselect7
...
Since we (Analog Devices) updated our Blackfin kernel to 2.6.28, we've
seen occasional 5-second hangs from telnet. telnetd calls select with a
NULL timeout, but with the new kernel, the system call occasionally
returns 0, which causes telnet to call sleep (5). This did not happen
with earlier kernels.
The code in sys_pselect7 looks a bit strange, in particular the variable
"to" is initialized to NULL, then changed if a non-null timeout was
passed in, but not used further. It needs to be passed to
core_sys_select instead of &end_time.
This bug was introduced by 8ff3e8e85f
("select: switch select() and poll() over to hrtimers").
Signed-off-by: Bernd Schmidt <[email protected] >
Reviewed-by: Ulrich Drepper <[email protected] >
Tested-by: Robin Getz <[email protected] >
Cc: [email protected]
Signed-off-by: Linus Torvalds <[email protected] >
2009-01-13 14:45:17 -08:00
..
9p
Merge branch 'next' into for-linus
2008-12-25 11:40:09 +11:00
adfs
affs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-01-05 18:32:06 -08:00
afs
fs: symlink write_begin allocation context fix
2009-01-04 13:33:20 -08:00
autofs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
autofs4
autofs4: fix string validation check order
2009-01-06 15:59:23 -08:00
befs
befs: ensure fast symlinks are NUL-terminated
2008-12-31 18:07:40 -05:00
bfs
bfs: check that filesystem fits on the blockdevice
2009-01-06 15:59:31 -08:00
btrfs
btrfs: fix for write_super_lockfs/unlockfs error handling
2009-01-10 06:09:52 -08:00
cifs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-01-05 18:32:06 -08:00
coda
coda: fix fs/coda/sysctl.c build warnings when !CONFIG_SYSCTL
2009-01-08 08:31:01 -08:00
configfs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
cramfs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
debugfs
debugfs: add helpers for exporting a size_t simple value
2009-01-07 10:00:16 -08:00
devpts
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
dlm
dlm: change rsbtbl rwlock to spinlock
2009-01-08 15:12:39 -06:00
ecryptfs
fs/ecryptfs/inode.c: cleanup kerneldoc
2009-01-06 15:59:22 -08:00
efs
exportfs
Merge branch 'next' into for-linus
2008-12-25 11:40:09 +11:00
ext2
ext2: tighten restrictions on inode flags
2009-01-08 08:31:00 -08:00
ext3
filesystem freeze: add error handling of write_super_lockfs/unlockfs
2009-01-09 16:54:42 -08:00
ext4
filesystem freeze: add error handling of write_super_lockfs/unlockfs
2009-01-09 16:54:42 -08:00
fat
Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6
2008-12-30 20:33:34 -08:00
freevxfs
freevxfs: ensure fast symlinks are NUL-terminated
2008-12-31 18:07:40 -05:00
fuse
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
2009-01-06 17:01:20 -08:00
gfs2
filesystem freeze: add error handling of write_super_lockfs/unlockfs
2009-01-09 16:54:42 -08:00
hfs
CRED: Wrap task credential accesses in the HFS filesystem
2008-11-14 10:38:54 +11:00
hfsplus
CRED: Wrap task credential accesses in the HFSplus filesystem
2008-11-14 10:38:54 +11:00
hostfs
fs: symlink write_begin allocation context fix
2009-01-04 13:33:20 -08:00
hpfs
CRED: Wrap task credential accesses in the HPFS filesystem
2008-11-14 10:38:55 +11:00
hppfs
CRED: Use creds in file structs
2008-11-14 10:39:25 +11:00
hugetlbfs
hugetlb: unsigned ret cannot be negative
2009-01-06 15:59:08 -08:00
isofs
isofs check for NULL ->i_op in root directory is dead code
2009-01-05 11:53:38 -05:00
jbd
jbd: remove excess kernel-doc notation
2009-01-08 08:31:01 -08:00
jbd2
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
2009-01-08 17:14:59 -08:00
jffs2
[JFFS2] remove junk prototypes
2009-01-09 21:05:21 +00:00
jfs
filesystem freeze: add error handling of write_super_lockfs/unlockfs
2009-01-09 16:54:42 -08:00
lockd
NLM: Clean up flow of control in make_socks() function
2009-01-07 15:40:44 -05:00
minix
minix: fix add link's wrong position calculation
2009-01-06 15:59:27 -08:00
ncpfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-01-07 11:31:52 -08:00
nfs
fs: symlink write_begin allocation context fix
2009-01-04 13:33:20 -08:00
nfs_common
SUNRPC: nfsacl_encode/nfsacl_decode should be exported as GPL-only
2008-12-23 15:21:32 -05:00
nfsd
nfsd: last_byte_offset
2009-01-07 17:38:31 -05:00
nls
notify
inotify: fix type errors in interfaces
2009-01-05 11:54:29 -05:00
ntfs
ntfs: don't NULL i_op
2009-01-05 11:54:27 -05:00
ocfs2
fix similar typos to successfull
2009-01-08 08:31:15 -08:00
omfs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
openpromfs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
partitions
block: fix bug in ptbl lookup cache
2009-01-09 21:46:13 +01:00
proc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu
2009-01-09 14:00:58 -08:00
qnx4
ramfs
NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area()
2009-01-08 12:04:46 +00:00
reiserfs
filesystem freeze: add error handling of write_super_lockfs/unlockfs
2009-01-09 16:54:42 -08:00
romfs
romfs: romfs_iget() - unsigned ino >= 0 is always true
2009-01-08 08:31:14 -08:00
smbfs
fs: symlink write_begin allocation context fix
2009-01-04 13:33:20 -08:00
squashfs
Squashfs: Makefiles
2009-01-05 08:46:27 +00:00
sysfs
zero i_uid/i_gid on inode allocation
2009-01-05 11:54:28 -05:00
sysv
sysv: ensure fast symlinks are NUL-terminated
2008-12-31 18:07:39 -05:00
ubifs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-01-07 11:31:52 -08:00
udf
Merge branch 'master' into next
2008-12-04 17:16:36 +11:00
ufs
CRED: Wrap task credential accesses in the UFS filesystem
2008-11-14 10:39:04 +11:00
xfs
filesystem freeze: remove XFS specific ioctl interfaces for freeze feature
2009-01-09 16:54:42 -08:00
aio.c
aio: make the lookup_ioctx() lockless
2008-12-29 08:29:50 +01:00
anon_inodes.c
anon_inodes: use fops->owner for module refcount
2008-12-31 16:55:44 +02:00
attr.c
CRED: Wrap task credential accesses in the filesystem subsystem
2008-11-14 10:39:05 +11:00
bad_inode.c
kill ->dir_notify()
2008-12-31 18:07:43 -05:00
binfmt_aout.c
sanitize ifdefs in binfmt_aout
2009-01-03 11:45:54 -08:00
binfmt_elf.c
ELF: implement AT_RANDOM for glibc PRNG seeding
2009-01-08 08:31:12 -08:00
binfmt_elf_fdpic.c
FDPIC: Don't attempt to expand the userspace stack to fill the space allocated
2009-01-08 12:04:47 +00:00
binfmt_em86.c
binfmt_flat.c
FLAT: Don't attempt to expand the userspace stack to fill the space allocated
2009-01-08 12:04:47 +00:00
binfmt_misc.c
fs/binfmt_misc.c: add terminating newline to /proc/sys/fs/binfmt_misc/status
2009-01-06 15:59:19 -08:00
binfmt_script.c
binfmt_som.c
CRED: Make execve() take advantage of copy-on-write credentials
2008-11-14 10:39:24 +11:00
bio-integrity.c
bio: allow individual slabs in the bio_set
2008-12-29 08:29:23 +01:00
bio.c
[SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE
2009-01-02 11:10:35 -06:00
block_dev.c
filesystem freeze: implement generic freeze feature
2009-01-09 16:54:42 -08:00
buffer.c
filesystem freeze: implement generic freeze feature
2009-01-09 16:54:42 -08:00
char_dev.c
fs: fix name overwrite in __register_chrdev_region()
2009-01-06 15:59:13 -08:00
compat.c
add missing accounting calls to compat_sys_{readv,writev}
2009-01-06 15:59:13 -08:00
compat_binfmt_elf.c
compat_ioctl.c
dcache.c
generic swap(): dcache: use swap() instead of private do_switch()
2009-01-08 08:31:15 -08:00
dcookies.c
shrink struct dentry
2008-12-31 18:07:38 -05:00
direct-io.c
fs: truncate blocks outside i_size after O_DIRECT write error
2009-01-06 15:59:06 -08:00
dquot.c
quota: don't set grace time when user isn't above softlimit
2009-01-08 08:31:01 -08:00
drop_caches.c
eventfd.c
eventpoll.c
epoll: introduce resource usage limits
2008-12-01 19:55:24 -08:00
exec.c
fs/exec.c: make do_coredump() void
2009-01-06 15:59:29 -08:00
fcntl.c
Merge branch 'next' into for-linus
2008-12-25 11:40:09 +11:00
fifo.c
file.c
file_table.c
filp_cachep can be static in fs/file_table.c
2008-12-31 18:07:42 -05:00
filesystems.c
vfs: remove duplicate code in get_fs_type()
2009-01-05 11:54:29 -05:00
fs-writeback.c
fs: sys_sync fix
2009-01-06 15:59:09 -08:00
generic_acl.c
inode.c
partial revert of asynchronous inode delete
2009-01-09 13:15:49 -08:00
internal.h
CRED: Make execve() take advantage of copy-on-write credentials
2008-11-14 10:39:24 +11:00
ioctl.c
filesystem freeze: implement generic freeze feature
2009-01-09 16:54:42 -08:00
ioprio.c
ext4: Add mount option to set kjournald's I/O priority
2009-01-05 22:46:26 -05:00
Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
2009-01-09 15:18:49 -08:00
Kconfig.binfmt
CORE_DUMP_DEFAULT_ELF_HEADERS depends on ELF_CORE
2009-01-09 16:54:41 -08:00
libfs.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-01-05 18:32:06 -08:00
locks.c
CRED: Wrap task credential accesses in the filesystem subsystem
2008-11-14 10:39:05 +11:00
Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
2009-01-09 15:18:49 -08:00
mbcache.c
mpage.c
do_mpage_readpage(): remove useless clear_buffer_mapped() call
2009-01-06 15:59:01 -08:00
namei.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-01-05 18:32:06 -08:00
namespace.c
fs/namespace.c: drop code after return
2008-12-31 18:07:38 -05:00
nfsctl.c
pass a struct path * to may_open
2008-12-31 18:07:41 -05:00
no-block.c
open.c
inode->i_op is never NULL
2009-01-05 11:54:28 -05:00
pipe.c
sanitize audit_fd_pair()
2009-01-04 15:14:41 -05:00
pnode.c
pnode.h
posix_acl.c
CRED: Wrap task credential accesses in the filesystem subsystem
2008-11-14 10:39:05 +11:00
quota.c
quota: Introduce DQUOT_QUOTA_SYS_FILE flag
2009-01-05 08:36:57 -08:00
quota_tree.c
quota: Split off quota tree handling into a separate file
2009-01-05 08:40:21 -08:00
quota_tree.h
quota: Split off quota tree handling into a separate file
2009-01-05 08:40:21 -08:00
quota_v1.c
quota: Move quotaio_v[12].h from include/linux/ to fs/
2009-01-05 08:36:58 -08:00
quota_v2.c
quota: Convert union in mem_dqinfo to a pointer
2009-01-05 08:40:21 -08:00
quotaio_v1.h
quota: Move quotaio_v[12].h from include/linux/ to fs/
2009-01-05 08:36:58 -08:00
quotaio_v2.h
quota: Split off quota tree handling into a separate file
2009-01-05 08:40:21 -08:00
read_write.c
vfs: lseek(fd, 0, SEEK_CUR) race condition
2009-01-05 11:53:07 -05:00
read_write.h
readdir.c
select.c
Fix timeouts in sys_pselect7
2009-01-13 14:45:17 -08:00
seq_file.c
Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-01-03 12:04:39 -08:00
signalfd.c
splice.c
memcg: synchronized LRU
2009-01-08 08:31:05 -08:00
stack.c
stat.c
inode->i_op is never NULL
2009-01-05 11:54:28 -05:00
super.c
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
2009-01-08 17:14:59 -08:00
sync.c
mm: do_sync_mapping_range integrity fix
2009-01-06 15:59:00 -08:00
timerfd.c
utimes.c
xattr.c
inode->i_op is never NULL
2009-01-05 11:54:28 -05:00
xattr_acl.c