On Tue, Aug 16, 2016 at 11:53:40AM +0200, Martin Pieuchot wrote: > No need to zeroize the struct rt_addrinfo in the hot path, ok?
OK bluhm@ > > Index: net/route.c > =================================================================== > RCS file: /cvs/src/sys/net/route.c,v > retrieving revision 1.313 > diff -u -p -r1.313 route.c > --- net/route.c 22 Jul 2016 11:03:30 -0000 1.313 > +++ net/route.c 16 Aug 2016 09:50:55 -0000 > @@ -236,17 +236,19 @@ struct rtentry * > rt_match(struct sockaddr *dst, uint32_t *src, int flags, unsigned int > tableid) > { > struct rtentry *rt0, *rt = NULL; > - struct rt_addrinfo info; > int s, error = 0; > > - bzero(&info, sizeof(info)); > - info.rti_info[RTAX_DST] = dst; > - > s = splsoftnet(); > rt = rtable_match(tableid, dst, src); > if (rt != NULL) { > if ((rt->rt_flags & RTF_CLONING) && ISSET(flags, RT_RESOLVE)) { > + struct rt_addrinfo info; > + > rt0 = rt; > + > + memset(&info, 0, sizeof(info)); > + info.rti_info[RTAX_DST] = dst; > + > KERNEL_LOCK(); > error = rtrequest(RTM_RESOLVE, &info, RTP_DEFAULT, > &rt, tableid);