Drop current rtentry lock before calling rt_getifa(). This fixes a LOR
and a possible recursive use of rtentry mutex. PR: kern/69356 Reviewed by: sam
This commit is contained in:
parent
7e47fb024c
commit
a11faa9f8d
@ -496,10 +496,10 @@ route_output(struct mbuf *m, struct socket *so)
|
||||
(info.rti_info[RTAX_IFA] != NULL &&
|
||||
!sa_equal(info.rti_info[RTAX_IFA],
|
||||
rt->rt_ifa->ifa_addr))) {
|
||||
if ((error = rt_getifa(&info)) != 0) {
|
||||
RT_UNLOCK(rt);
|
||||
RT_UNLOCK(rt);
|
||||
if ((error = rt_getifa(&info)) != 0)
|
||||
senderr(error);
|
||||
}
|
||||
RT_LOCK(rt);
|
||||
}
|
||||
if (info.rti_info[RTAX_GATEWAY] != NULL &&
|
||||
(error = rt_setgate(rt, rt_key(rt),
|
||||
|
Loading…
Reference in New Issue
Block a user