/* Unhashes a service from ip_vs_svc_table/ip_vs_svc_fwm_table. Should be called with locked tables.  */
static int ip_vs_svc_unhash(struct ip_vs_service *svc)
/* Unhashes a service from ip_vs_svc_table/ip_vs_svc_fwm_table. Should be called with locked tables.  */
static int ip_vs_svc_unhash(struct ip_vs_service *svc)
{
	if (!(svc->flags & IP_VS_SVC_F_HASHED)) {
		pr_err("%s(): request for unhash flagged, called from %pF\n",
		       __func__, __builtin_return_address(0));
		return 0;
	}
	if (svc->fwmark == 0) {
		list_del(&svc->s_list);
	} else {
		list_del(&svc->f_list);
	}
	svc->flags &= ~IP_VS_SVC_F_HASHED;
	atomic_dec(&svc->refcnt);
	return 1;
}