 c.seq = nlh->nlmsg_seq; c.pid = nlh->nlmsg_pid; if (nlh->nlmsg_type == XFRM_MSG_NEWSA) c.event = XFRM_SAP_ADDED; else c.event = XFRM_SAP_UPDATED;  km_state_notify(x, &c); xfrm_state_put(x); 
static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma){	struct xfrm_usersa_info *p = NLMSG_DATA(nlh);	struct xfrm_state *x;	int err;	err = verify_newsa_info(p, (struct rtattr **) xfrma);	if (err)		return err;	x = xfrm_state_construct(p, (struct rtattr **) xfrma, &err);	if (!x)		return err;	if (nlh->nlmsg_type == XFRM_MSG_NEWSA)		err = xfrm_state_add(x);	else		err = xfrm_state_update(x);	if (err < 0) {		x->km.state = XFRM_STATE_DEAD;		xfrm_state_put(x);	}	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/26b15dad9f1c19d6d4f7b999b07eaa6d98e4b375/xfrm_user.c/buggy/net/xfrm/xfrm_user.c