All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevich@gmail.com>
To: Yann Droneaud <ydroneaud@opteya.com>
Cc: linux-kernel@vger.kernel.org, linux-sctp@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH 12/13] sctp: use get_unused_fd_flags(0) instead of get_unused_fd()
Date: Tue, 02 Jul 2013 17:50:32 +0000	[thread overview]
Message-ID: <51D312E8.6090702@gmail.com> (raw)
In-Reply-To: <6d4271e2e0b05ae2728cba1d890e77cac50cf8f0.1372777600.git.ydroneaud@opteya.com>

On 07/02/2013 12:39 PM, Yann Droneaud wrote:
> 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().
>
> Instead of macro get_unused_fd(), functions anon_inode_getfd()
> or get_unused_fd_flags() should be used with flags given by userspace.
> If not possible, flags should be set to O_CLOEXEC to provide userspace
> with a default safe behavor.
>
> In a further patch, get_unused_fd() will be removed so that
> new code start using anon_inode_getfd() or get_unused_fd_flags()
> with correct flags.
>
> This patch replaces calls to get_unused_fd() with equivalent call to
> get_unused_fd_flags(0) to preserve current behavor for existing code.
>
> The hard coded flag value (0) should be reviewed on a per-subsystem basis,
> and, if possible, set to O_CLOEXEC.
>
> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>

Acked-by: Vlad Yasevich <vyasevich@gmail.com>

-vlad

> ---
>   net/sctp/socket.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
> index 66fcdcf..caa5919 100644
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -4320,7 +4320,7 @@ static int sctp_getsockopt_peeloff(struct sock *sk, int len, char __user *optval
>   		goto out;
>
>   	/* Map the socket to an unused fd that can be returned to the user.  */
> -	retval = get_unused_fd();
> +	retval = get_unused_fd_flags(0);
>   	if (retval < 0) {
>   		sock_release(newsock);
>   		goto out;
>


WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: Yann Droneaud <ydroneaud@opteya.com>
Cc: linux-kernel@vger.kernel.org, linux-sctp@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH 12/13] sctp: use get_unused_fd_flags(0) instead of get_unused_fd()
Date: Tue, 02 Jul 2013 13:50:32 -0400	[thread overview]
Message-ID: <51D312E8.6090702@gmail.com> (raw)
In-Reply-To: <6d4271e2e0b05ae2728cba1d890e77cac50cf8f0.1372777600.git.ydroneaud@opteya.com>

On 07/02/2013 12:39 PM, Yann Droneaud wrote:
> 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().
>
> Instead of macro get_unused_fd(), functions anon_inode_getfd()
> or get_unused_fd_flags() should be used with flags given by userspace.
> If not possible, flags should be set to O_CLOEXEC to provide userspace
> with a default safe behavor.
>
> In a further patch, get_unused_fd() will be removed so that
> new code start using anon_inode_getfd() or get_unused_fd_flags()
> with correct flags.
>
> This patch replaces calls to get_unused_fd() with equivalent call to
> get_unused_fd_flags(0) to preserve current behavor for existing code.
>
> The hard coded flag value (0) should be reviewed on a per-subsystem basis,
> and, if possible, set to O_CLOEXEC.
>
> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>

Acked-by: Vlad Yasevich <vyasevich@gmail.com>

-vlad

> ---
>   net/sctp/socket.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
> index 66fcdcf..caa5919 100644
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -4320,7 +4320,7 @@ static int sctp_getsockopt_peeloff(struct sock *sk, int len, char __user *optval
>   		goto out;
>
>   	/* Map the socket to an unused fd that can be returned to the user.  */
> -	retval = get_unused_fd();
> +	retval = get_unused_fd_flags(0);
>   	if (retval < 0) {
>   		sock_release(newsock);
>   		goto out;
>


  reply	other threads:[~2013-07-02 17:50 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-02 16:39 [PATCH 00/13] Getting rid of get_unused_fd() Yann Droneaud
2013-07-02 16:39 ` Yann Droneaud
2013-07-02 16:39 ` Yann Droneaud
2013-07-02 16:39 ` [PATCH 01/13] ia64: use get_unused_fd_flags(0) instead " Yann Droneaud
2013-07-02 16:39   ` Yann Droneaud
2013-07-02 16:39 ` [PATCH 02/13] ppc/cell: " Yann Droneaud
2014-01-12 23:06   ` Benjamin Herrenschmidt
2014-01-12 23:06     ` Benjamin Herrenschmidt
2014-01-13  9:30     ` Yann Droneaud
2014-01-13  9:30       ` Yann Droneaud
2014-01-20 17:01       ` Yann Droneaud
2014-01-20 17:01         ` Yann Droneaud
2013-07-02 16:39 ` [PATCH 03/13] infiniband: " Yann Droneaud
     [not found]   ` <651e35493f6a970610d35785e1972ec9e2426abf.1372777600.git.ydroneaud-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org>
2013-07-08 18:23     ` Roland Dreier
2013-07-08 18:23       ` Roland Dreier
2013-07-08 21:26       ` Yann Droneaud
2013-07-02 16:39 ` [PATCH 04/13] android/sw_sync: " Yann Droneaud
2013-07-02 22:22   ` Erik Gilling
2013-07-02 16:39 ` [PATCH 05/13] android/sync: " Yann Droneaud
2013-07-02 22:22   ` Erik Gilling
2013-07-02 16:39 ` [PATCH 06/13] vfio: " Yann Droneaud
2013-07-02 16:39 ` [PATCH 07/13] binfmt_misc: " Yann Droneaud
2013-07-02 16:39 ` [PATCH 08/13] file: " Yann Droneaud
2013-07-02 16:39 ` [PATCH 09/13] fanotify: " Yann Droneaud
2013-07-02 16:39 ` [PATCH 10/13] xfs: " Yann Droneaud
2013-07-02 16:39   ` Yann Droneaud
2013-07-08 22:41   ` Ben Myers
2013-07-08 22:41     ` Ben Myers
2013-07-09 20:53     ` Ben Myers
2013-07-09 20:53       ` Ben Myers
2013-07-10 10:00       ` Yann Droneaud
2013-07-10 10:00         ` Yann Droneaud
2013-07-11  0:36         ` Dave Chinner
2013-07-11  0:36           ` Dave Chinner
2013-07-02 16:39 ` [PATCH 11/13] events: " Yann Droneaud
2013-07-02 16:39 ` [PATCH 12/13] sctp: " Yann Droneaud
2013-07-02 16:39   ` Yann Droneaud
2013-07-02 17:50   ` Vlad Yasevich [this message]
2013-07-02 17:50     ` Vlad Yasevich
2013-07-02 23:14     ` David Miller
2013-07-02 23:14       ` David Miller
2013-07-02 16:39 ` [PATCH 13/13] file: remove get_unused_fd() Yann Droneaud

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=51D312E8.6090702@gmail.com \
    --to=vyasevich@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=ydroneaud@opteya.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.