} else { c.event = XFRM_SAP_DELETED; c.seq = nlh->nlmsg_seq; c.pid = nlh->nlmsg_pid; km_policy_notify(xp, p->dir, &c); 
static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma){	struct xfrm_policy *xp;	struct xfrm_userpolicy_id *p;	int err;	int delete;	p = NLMSG_DATA(nlh);	delete = nlh->nlmsg_type == XFRM_MSG_DELPOLICY;	err = verify_policy_dir(p->dir);	if (err)		return err;	if (p->index)		xp = xfrm_policy_byid(p->dir, p->index, delete);	else		xp = xfrm_policy_bysel(p->dir, &p->sel, delete);	if (xp == NULL)		return -ENOENT;	if (!delete) {		struct sk_buff *resp_skb;		resp_skb = xfrm_policy_netlink(skb, xp, p->dir, nlh->nlmsg_seq);		if (IS_ERR(resp_skb)) {			err = PTR_ERR(resp_skb);		} else {			err = netlink_unicast(xfrm_nl, resp_skb,					      NETLINK_CB(skb).pid,					      MSG_DONTWAIT);		}	}	xfrm_pol_put(xp);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/26b15dad9f1c19d6d4f7b999b07eaa6d98e4b375/xfrm_user.c/buggy/net/xfrm/xfrm_user.c