lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <1272723382-19470-73-git-send-email-orenl@cs.columbia.edu> Date: Sat, 1 May 2010 10:15:54 -0400 From: Oren Laadan <orenl@...columbia.edu> To: Andrew Morton <akpm@...ux-foundation.org> Cc: containers@...ts.linux-foundation.org, linux-kernel@...r.kernel.org, Serge Hallyn <serue@...ibm.com>, Matt Helsley <matthltc@...ibm.com>, Pavel Emelyanov <xemul@...nvz.org>, Oren Laadan <orenl@...columbia.edu>, netdev@...r.kernel.org Subject: [PATCH v21 072/100] c/r: introduce checkpoint/restore methods to struct proto_ops This adds new 'proto_ops' function for checkpointing and restoring sockets. This allows the checkpoint/restart code to compile nicely when, e.g., AF_UNIX sockets are selected as a module. It also adds a function 'collecting' a socket for leak-detection during full-container checkpoint. This is useful for those sockets that hold references to other "collectable" objects. Two examples are AF_UNIX buffers which reference the socket of origin, and sockets that have file descriptors in-transit. Cc: netdev@...r.kernel.org Signed-off-by: Oren Laadan <orenl@...columbia.edu> Acked-by: Serge E. Hallyn <serue@...ibm.com> Tested-by: Serge E. Hallyn <serue@...ibm.com> --- include/linux/net.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/include/linux/net.h b/include/linux/net.h index 4157b5d..1f32c70 100644 --- a/include/linux/net.h +++ b/include/linux/net.h @@ -153,6 +153,9 @@ struct sockaddr; struct msghdr; struct module; +struct ckpt_ctx; +struct ckpt_hdr_socket; + struct proto_ops { int family; struct module *owner; @@ -201,6 +204,12 @@ struct proto_ops { int offset, size_t size, int flags); ssize_t (*splice_read)(struct socket *sock, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags); + int (*checkpoint)(struct ckpt_ctx *ctx, + struct socket *sock); + int (*collect)(struct ckpt_ctx *ctx, + struct socket *sock); + int (*restore)(struct ckpt_ctx *ctx, struct socket *sock, + struct ckpt_hdr_socket *h); }; #define DECLARE_SOCKADDR(type, dst, src) \ -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists