IB/uverbs: Use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()
authorRoland Dreier <roland@purestorage.com>
Mon, 8 Jul 2013 18:15:45 +0000 (11:15 -0700)
committerRoland Dreier <roland@purestorage.com>
Mon, 8 Jul 2013 18:15:45 +0000 (11:15 -0700)
commitda183c7af8444cb2c1beedaa498a9359f19ff665
treea7e7450e8c200fa5ad5a8d92a4da94d8c5292cef
parent80b15043e3450e730d30b71c099ab00d75a551ce
IB/uverbs: Use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()

The macro get_unused_fd() is used to allocate a file descriptor with
default flags.  Those default flags (0) can be "unsafe": O_CLOEXEC must
be used by default to not leak file descriptor across exec().

Replace calls to get_unused_fd() in uverbs with calls to
get_unused_fd_flags(O_CLOEXEC).  Inheriting uverbs fds across exec()
cannot be used to do anything useful.

Based on a patch/suggestion from Yann Droneaud <ydroneaud@opteya.com>.

Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/uverbs_cmd.c