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);

Reply via email to