read_lock(&xfrm_km_lock); list_for_each_entry(km, &xfrm_km_list, list) if (km->notify_policy) km->notify_policy(pol, dir, hard); read_unlock(&xfrm_km_lock);
c.data = hard; c.data = hard; c.event = XFRM_SAP_EXPIRED; km_policy_notify(pol, dir, &c);
void km_policy_expired(struct xfrm_policy *pol, int dir, int hard){	struct xfrm_mgr *km;	read_lock(&xfrm_km_lock);	list_for_each_entry(km, &xfrm_km_list, list)		if (km->notify_policy)			km->notify_policy(pol, dir, hard);	read_unlock(&xfrm_km_lock);	if (hard)		wake_up(&km_waitq);}