 if (sock_flag(osk, SOCK_DBG)) sock_set_flag(sk, SOCK_DBG);  if (sock_flag(osk, SOCK_ZAPPED)) sock_set_flag(sk, SOCK_ZAPPED); 
sock_copy_flags(sk, osk); 
struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev){	struct sock *sk;	ax25_cb *ax25, *oax25;	if ((sk = sk_alloc(PF_AX25, GFP_ATOMIC, osk->sk_prot, 1)) == NULL)		return NULL;	if ((ax25 = ax25_create_cb()) == NULL) {		sk_free(sk);		return NULL;	}	switch (osk->sk_type) {	case SOCK_DGRAM:		break;	case SOCK_SEQPACKET:		break;	default:		sk_free(sk);		ax25_cb_put(ax25);		return NULL;	}	sock_init_data(NULL, sk);	sk->sk_destruct = ax25_free_sock;	sk->sk_type     = osk->sk_type;	sk->sk_socket   = osk->sk_socket;	sk->sk_priority = osk->sk_priority;	sk->sk_protocol = osk->sk_protocol;	sk->sk_rcvbuf   = osk->sk_rcvbuf;	sk->sk_sndbuf   = osk->sk_sndbuf;	sk->sk_state    = TCP_ESTABLISHED;	sk->sk_sleep    = osk->sk_sleep;	if (sock_flag(osk, SOCK_DBG))		sock_set_flag(sk, SOCK_DBG);	if (sock_flag(osk, SOCK_ZAPPED))		sock_set_flag(sk, SOCK_ZAPPED);	oax25 = ax25_sk(osk);	ax25->modulus = oax25->modulus;	ax25->backoff = oax25->backoff;	ax25->pidincl = oax25->pidincl;	ax25->iamdigi = oax25->iamdigi;	ax25->rtt     = oax25->rtt;	ax25->t1      = oax25->t1;	ax25->t2      = oax25->t2;	ax25->t3      = oax25->t3;	ax25->n2      = oax25->n2;	ax25->idle    = oax25->idle;	ax25->paclen  = oax25->paclen;	ax25->window  = oax25->window;	ax25->ax25_dev    = ax25_dev;	ax25->source_addr = oax25->source_addr;	if (oax25->digipeat != NULL) {		if ((ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) {			sk_free(sk);			ax25_cb_put(ax25);			return NULL;		}		memcpy(ax25->digipeat, oax25->digipeat, sizeof(ax25_digi));	}	sk->sk_protinfo = ax25;	ax25->sk    = sk;	return sk;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/53b924b31fa53ac3007df3fef6870d5074a9adf8/af_ax25.c/clean/net/ax25/af_ax25.c