Re: [PATCH net-next 09/15] net: bus: Add garbage collector forAF_BUS sockets.

From: Ben Hutchings
Date: Mon Jul 02 2012 - 13:44:22 EST


On Fri, 2012-06-29 at 17:45 +0100, Vincent Sanders wrote:
> From: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
>
> This patch adds a garbage collector for AF_BUS sockets.
[...]
> +struct sock *bus_get_socket(struct file *filp)
> +{
> + struct sock *u_sock = NULL;
> + struct inode *inode = filp->f_path.dentry->d_inode;
> +
> + /*
> + * Socket ?
> + */
> + if (S_ISSOCK(inode->i_mode) && !(filp->f_mode & FMODE_PATH)) {
> + struct socket *sock = SOCKET_I(inode);
> + struct sock *s = sock->sk;
> +
> + /*
> + * PF_BUS ?
> + */
> + if (s && sock->ops && sock->ops->family == PF_BUS)
> + u_sock = s;
> + }
> + return u_sock;
> +}
[...]

What about references cycles involving both AF_BUS and AF_UNIX sockets?
I think you must either specifically prevent passing AF_UNIX sockets
through AF_BUS sockets, or make a single garbage collector handle them
both.

Ben.

--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/