]> asedeno.scripts.mit.edu Git - linux.git/commit
usbip: deletion of incorrect socket descriptor checking
authorNobuo Iwata <nobuo.iwata@fujixerox.co.jp>
Fri, 30 Sep 2016 05:44:04 +0000 (14:44 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Nov 2016 09:19:49 +0000 (10:19 +0100)
commit220c61b6f73a1d6f28591aeedff51a668068361b
tree259dcc6ecf4483505e17dda462f154ecb2a99125
parentcbfff98a623df8d4e7c02d63d6448220cf0aec7c
usbip: deletion of incorrect socket descriptor checking

This patch removes checking of socket descriptor value in daemons.

It was checked to be less than FD_SETSIZE(1024 usually) but it's not
correct.

To be exact, the maximum value of descriptor comes from
rlimit(RLIMIT_NOFILE).

Following kernel code determines the value :
    get_unused_fd_flags() : fs/files.c
    __alloc_fd() : fs/files.c
    expand_files() : fs/files.c

The defalut (soft limit) is defines as INR_OPEN_CUR(1024) in
include/linux/fs.h which is referenced form INIT_RLIMS in
include/asm-generic/resource.h. The value may be modified with ulimt,
sysctl, security configuration and etc.

With the kernel code above, when socket() system call returns positive
value, the value must be within rlimit(RLIMIT_NOFILE). No extra
checking is needed when socket() returns positive.

Without 'usbip: vhci number of ports extension' patch set, there's no
practical problem because of number of USB port restriction. With the
patch set, the value of socket descriptor can exceed FD_SETSIZE(1024
usually) if the rlimit is changed.

Signed-off-by: Nobuo Iwata <nobuo.iwata@fujixerox.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/usb/usbip/src/usbipd.c