On 07/28/16 10:03, Ryota Ozaki wrote:
Module Name:    src
Committed By:   ozaki-r
Date:           Thu Jul 28 09:03:51 UTC 2016

Modified Files:
        src/sys/netinet: if_arp.c in.c
        src/sys/netinet6: in6.c nd6_nbr.c

Log Message:
Fix panic on adding/deleting IP addresses under network load

Adding and deleting IP addresses aren't serialized with other network
opeartions, e.g., forwarding packets. So if we add or delete an IP
address under network load, a kernel panic may happen on manipulating
network-related shared objects such as rtentry and rtcache.

To avoid such panicks, we still need to hold softnet_lock in in_control
and in6_control that are called via ioctl and do network-related operations
including IP address additions/deletions.

Fix PR kern/51356

Hi,

This is contributory to the problems in

    http://gnats.netbsd.org/49065

    http://gnats.netbsd.org/50491

    http://gnats.netbsd.org/51395

Where softnet_lock is held by something that sleeps, e.g. a usb transfer.

    http://mail-index.netbsd.org/tech-net/2015/12/06/msg005443.html

This patch

    http://www.netbsd.org/~skrll/usb.softint.diff

helps, but I'm not sure it deals with all the problems in the network stack. Is this something you intend to address?

Thanks,
Nick



Reply via email to