err = security_socket_accept(sock, newsock); if (err) goto out_release;  
asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr, int __user *upeer_addrlen){	struct socket *sock, *newsock;	int err, len;	char address[MAX_SOCK_ADDR];	sock = sockfd_lookup(fd, &err);	if (!sock)		goto out;	err = -ENFILE;	if (!(newsock = sock_alloc())) 		goto out_put;	newsock->type = sock->type;	newsock->ops = sock->ops;	err = security_socket_accept(sock, newsock);	if (err)		goto out_release;	/*	 * We don't need try_module_get here, as the listening socket (sock)	 * has the protocol module (sock->ops->owner) held.	 */	__module_get(newsock->ops->owner);	err = sock->ops->accept(sock, newsock, sock->file->f_flags);	if (err < 0)		goto out_release;	if (upeer_sockaddr) {		if(newsock->ops->getname(newsock, (struct sockaddr *)address, &len, 2)<0) {			err = -ECONNABORTED;			goto out_release;		}		err = move_addr_to_user(address, len, upeer_sockaddr, upeer_addrlen);		if (err < 0)			goto out_release;	}	/* File flags are not inherited via accept() unlike another OSes. */	if ((err = sock_map_fd(newsock)) < 0)		goto out_release;	security_socket_post_accept(sock, newsock);out_put:	sockfd_put(sock);out:	return err;out_release:	sock_release(newsock);	goto out_put;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a79af59efd20990473d579b1d8d70bb120f0920c/socket.c/clean/net/socket.c