From: Yann Droneaud <ydroneaud@opteya.com> To: Al Viro <viro@zeniv.linux.org.uk>, Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, Yann Droneaud <ydroneaud@opteya.com>, linux-fsdevel@vger.kernel.org Subject: [PATCHv8 6/6] file: remove get_unused_fd() macro Date: Wed, 24 Sep 2014 15:11:11 +0200 [thread overview] Message-ID: <28ff601c10cc16940919c0c45dc47f73c870c16b.1411562410.git.ydroneaud@opteya.com> (raw) In-Reply-To: <cover.1411562410.git.ydroneaud@opteya.com> In-Reply-To: <cover.1411562410.git.ydroneaud@opteya.com> Macro get_unused_fd() is used to allocate a file descriptor with default flags. Those default flags (0) don't enable close-on-exec. This can be seen as an unsafe default: in most case close-on-exec should be enabled to not leak file descriptor across exec(). It would be better to have a "safer" default set of flags, eg. O_CLOEXEC must be used to enable close-on-exec. Instead this patch removes get_unused_fd() so that out of tree modules won't be affect by a runtime behavor change which might introduce other kind of bugs: it's better to catch the change at build time, making it easier to fix. Removing the macro will also promote use of get_unused_fd_flags() (or anon_inode_getfd()) with flags provided by userspace. Or, if flags cannot be given by userspace, with flags set to O_CLOEXEC by default. Link: http://lkml.kernel.org/r/cover.1411562410.git.ydroneaud@opteya.com Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> --- include/linux/file.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/file.h b/include/linux/file.h index 4d69123377a2..f87d30882a24 100644 --- a/include/linux/file.h +++ b/include/linux/file.h @@ -66,7 +66,6 @@ extern void set_close_on_exec(unsigned int fd, int flag); extern bool get_close_on_exec(unsigned int fd); extern void put_filp(struct file *); extern int get_unused_fd_flags(unsigned flags); -#define get_unused_fd() get_unused_fd_flags(0) extern void put_unused_fd(unsigned int fd); extern void fd_install(unsigned int fd, struct file *file); -- 1.9.3
prev parent reply other threads:[~2014-09-24 17:51 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-09-24 13:11 [PATCHv8 0/6] Getting rid of get_unused_fd() / enable close-on-exec Yann Droneaud 2014-09-24 13:11 ` Yann Droneaud 2014-09-24 13:11 ` Yann Droneaud 2014-09-24 13:11 ` [PATCHv8 1/6] fanotify: enable close-on-exec on events' fd when requested in fanotify_init() Yann Droneaud 2014-09-25 20:57 ` Heinrich Schuchardt 2014-09-25 20:57 ` Heinrich Schuchardt 2014-09-26 8:58 ` Yann Droneaud 2014-09-27 7:26 ` Heinrich Schuchardt 2014-09-29 8:49 ` [PATCHv8.1] " Yann Droneaud 2014-09-29 11:50 ` Jan Kara 2014-10-01 22:36 ` Andrew Morton 2014-10-01 22:36 ` Andrew Morton 2014-10-02 6:20 ` Yann Droneaud 2014-10-02 6:50 ` Mihai Donțu 2014-10-02 7:52 ` [PATCH] fanotify: add a flag to allow setting O_CLOEXEC on event fd Yann Droneaud 2014-10-02 9:13 ` Pádraig Brady 2014-10-02 9:13 ` Pádraig Brady 2014-10-02 9:13 ` Pádraig Brady 2014-10-02 11:55 ` Michael Kerrisk (man-pages) 2014-10-02 14:44 ` Yann Droneaud 2014-10-02 14:44 ` Yann Droneaud 2014-10-02 10:44 ` [PATCHv8.1] fanotify: enable close-on-exec on events' fd when requested in fanotify_init() Jan Kara 2014-10-02 10:44 ` Jan Kara 2014-10-02 19:46 ` Andrew Morton 2014-10-02 19:46 ` Andrew Morton 2014-10-03 8:39 ` [PATCHv8.2] " Yann Droneaud 2014-10-03 8:39 ` Yann Droneaud 2014-09-24 13:11 ` [PATCHv8 2/6] ia64: trivial: replace get_unused_fd() by get_unused_fd_flags(0) Yann Droneaud 2014-09-24 13:11 ` [PATCHv8 3/6] ppc/cell: " Yann Droneaud 2014-09-24 13:11 ` Yann Droneaud 2014-09-24 13:11 ` [PATCHv8 4/6] binfmt_misc: " Yann Droneaud 2014-09-24 13:11 ` [PATCHv8 5/6] file: " Yann Droneaud 2014-09-24 13:11 ` Yann Droneaud [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=28ff601c10cc16940919c0c45dc47f73c870c16b.1411562410.git.ydroneaud@opteya.com \ --to=ydroneaud@opteya.com \ --cc=akpm@linux-foundation.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=viro@zeniv.linux.org.uk \ --subject='Re: [PATCHv8 6/6] file: remove get_unused_fd() macro' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.