static int ip6_route_del(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr) 
static int ip6_route_del(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr, struct netlink_skb_parms *req) 
static int ip6_route_del(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr){	struct fib6_node *fn;	struct rt6_info *rt;	int err = -ESRCH;	read_lock_bh(&rt6_lock);	fn = fib6_locate(&ip6_routing_table,			 &rtmsg->rtmsg_dst, rtmsg->rtmsg_dst_len,			 &rtmsg->rtmsg_src, rtmsg->rtmsg_src_len);		if (fn) {		for (rt = fn->leaf; rt; rt = rt->u.next) {			if (rtmsg->rtmsg_ifindex &&			    (rt->rt6i_dev == NULL ||			     rt->rt6i_dev->ifindex != rtmsg->rtmsg_ifindex))				continue;			if (rtmsg->rtmsg_flags&RTF_GATEWAY &&			    !ipv6_addr_equal(&rtmsg->rtmsg_gateway, &rt->rt6i_gateway))				continue;			if (rtmsg->rtmsg_metric &&			    rtmsg->rtmsg_metric != rt->rt6i_metric)				continue;			dst_hold(&rt->u.dst);			read_unlock_bh(&rt6_lock);			return ip6_del_rt(rt, nlh, _rtattr);		}	}	read_unlock_bh(&rt6_lock);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d51aa80a9b1db43920c0770c3bb842dd823c005/route.c/buggy/net/ipv6/route.c