On Wed, Jul 13, 2016 at 1:37 AM, J. Hannken-Illjes
<hann...@eis.cs.tu-bs.de> wrote:
>
>> On 06 Jul 2016, at 10:42, Ryota Ozaki <ozak...@netbsd.org> wrote:
>>
>> Module Name:  src
>> Committed By: ozaki-r
>> Date:         Wed Jul  6 08:42:34 UTC 2016
>>
>> Modified Files:
>>       src/sys/net: if_stf.c
>>       src/sys/netinet: in.c in_gif.c in_pcb.c in_var.h ip_carp.c ip_icmp.c
>>           ip_input.c
>>       src/sys/netipsec: key.c
>>
>> Log Message:
>> Switch the IPv4 address list to pslist(9)
>>
>> Note that we leave the old list just in case; it seems there are some
>> kvm(3) users accessing the list. We can remove it later if we confirmed
>> nobody does actually.
>>
>>
>> To generate a diff of this commit:
>> cvs rdiff -u -r1.93 -r1.94 src/sys/net/if_stf.c
>> cvs rdiff -u -r1.170 -r1.171 src/sys/netinet/in.c
>
> @@ -639,8 +644,10 @@ in_control(struct socket *so, u_long cmd
>         if (newifaddr) {
>                 TAILQ_INSERT_TAIL(&in_ifaddrhead, ia, ia_list);
>                 ifaref(&ia->ia_ifa);
>                 ifa_insert(ifp, &ia->ia_ifa);
> +               TAILQ_INSERT_TAIL(&in_ifaddrhead, ia, ia_list);
> +               IN_ADDRLIST_WRITER_INSERT_TAIL(ia);
>                 LIST_INSERT_HEAD(&IN_IFADDR_HASH(ia->ia_addr.sin_addr.s_addr),
>                     ia, ia_hash);
>                 IN_ADDRHASH_WRITER_INSERT_HEAD(ia);
>         } else if (need_reinsert) {
>
>
> This one looks wrong -- we enqueue "ia" twice.

That's correct. We have two lists: one is added for psz/psref and
the other is the original list remained for kvm(3) users.

  ozaki-r

Reply via email to