From: Oren Laadan <orenl@librato.com>
To: Dan Smith <danms@us.ibm.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH 5/5] c/r: Add AF_UNIX support (v8)
Date: Wed, 12 Aug 2009 11:29:36 -0400 [thread overview]
Message-ID: <4A82DFE0.4040108@librato.com> (raw)
In-Reply-To: <1249918379-29414-6-git-send-email-danms@us.ibm.com>
Dan,
I just noticed that this message wasn't posted last night.
So hitting "send" now ... sorry about that.
-----
Before pulling this one, I took a quick look at this patch, and
I saw that it still uses skb_morph despite the changelog and my
memory...
Can you please verify that this is the latest ?
Also, while trying to pull it, I'd like to ask for three cosmetic
changes, if it isn't too much -
1) Move 'struct ckpt_hdr_socket' et-al to checkpoint_hdr.h
2) Move everything that is af_unix specific from net/checkpoint.c
to (a new) net/unix/checkpoint.c (prototypes probably in af_unix.h ?)
3) Make sure that af_unix code does not compile (and is not called
from net/checkpoint.c) unless CONFIG_UNIX is defined.
I pulled all the other patches already, will add this one once
you resend.
-----
Thanks,
Oren.
Dan Smith wrote:
> This patch adds basic checkpoint/restart support for AF_UNIX sockets. It
> has been tested with a single and multiple processes, and with data inflight
> at the time of checkpoint. It supports socketpair()s, path-based, and
> abstract sockets.
>
> Changes in v8:
> - Fix stale dev_alloc_skb() from before the conversion to skb_clone()
> - Fix a couple of broken error paths
> - Fix memory leak of kvec.iov_base on successful return from sendmsg()
> - Fix condition for deciding when to run sock_cptrst_verify()
> - Fix buffer queue copy algorithm to hold the lock during walk(s)
> - Log the errno when either getname() or getpeer() fails
> - Add comments about ancillary messages in the UNIX queue
> - Add TODO comments for credential restore and flags via setsockopt()
> - Add TODO comment about strangely-connected dgram sockets and the use
> of sendmsg(peer)
>
> Changes in v7:
> - Fix failure to free iov_base in error path of sock_read_buffer()
> - Change sock_read_buffer() to use _ckpt_read_obj_type() to get the
> header length and then use ckpt_kread() directly to read the payload
> - Change sock_read_buffers() to sock_unix_read_buffers() and break out
> some common functionality to better accommodate the subsequent INET
> patch
> - Generalize sock_unix_getnames() into sock_getnames() so INET can use it
> - Change skb_morph() to skb_clone() which uses the more common path and
> still avoids the copy
> - Add check to validate the socket type before creating socket
> on restore
> - Comment the CAP_NET_ADMIN override in sock_read_buffer_hdr
> - Strengthen the comment about priming the buffer limits
> - Change the objhash functions to deny direct checkpoint of sockets and
> remove the reference counting function
> - Change SOCKET_BUFFERS to SOCKET_QUEUE
> - Change this,peer objrefs to signed integers
> - Remove names from internal socket structures
> - Fix handling of sock_copy_buffers() result
> - Use ckpt_fill_fname() instead of d_path() for writing CWD
> - Use sock_getname() and sock_getpeer() for proper security hookage
> - Return -ENOSYS for unsupported socket families in checkpoint and restart
> - Use sock_setsockopt() and sock_getsockopt() where possible to save and
> restore socket option values
> - Check for SOCK_DESTROY flag in the global verify function because none
> of our supported socket types use it
> - Check for SOCK_USE_WRITE_QUEUE in AF_UNIX restore function because
> that flag should not be used on such a socket
> - Check socket state in UNIX restart path to validate the subset of valid
> values
[...]
next prev parent reply other threads:[~2009-08-12 15:30 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-10 15:32 C/R support of UNIX sockets Dan Smith
2009-08-10 15:32 ` [PATCH 3/5] Add common socket helpers to unify the security hooks Dan Smith
[not found] ` <1249918379-29414-1-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-10 15:32 ` [PATCH 1/5] Add an errno validation function (v2) Dan Smith
[not found] ` <1249918379-29414-2-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-10 18:31 ` Serge E. Hallyn
[not found] ` <20090810183106.GA24373-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-10 18:34 ` Dan Smith
[not found] ` <87k51b5xi6.fsf-FLMGYpZoEPULwtHQx/6qkW3U47Q5hpJU@public.gmane.org>
2009-08-12 6:12 ` Oren Laadan
2009-08-10 15:32 ` [PATCH 2/5] Add a ckpt_read_string() function (v3) Dan Smith
[not found] ` <1249918379-29414-3-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-12 6:17 ` Oren Laadan
2009-08-10 15:32 ` [PATCH 4/5] Export fill_fname() as ckpt_fill_fname() Dan Smith
2009-08-12 6:12 ` C/R support of UNIX sockets Oren Laadan
2009-08-10 15:32 ` [PATCH 5/5] c/r: Add AF_UNIX support (v8) Dan Smith
2009-08-10 21:02 ` Serge E. Hallyn
2009-08-10 21:06 ` Dan Smith
2009-08-12 15:29 ` Oren Laadan [this message]
2009-08-12 15:36 ` Dan Smith
2009-08-12 19:19 ` Oren Laadan
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=4A82DFE0.4040108@librato.com \
--to=orenl@librato.com \
--cc=danms@us.ibm.com \
--cc=netdev@vger.kernel.org \
/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.