diff options
| author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2001-07-15 14:24:00 +0000 |
|---|---|---|
| committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2001-07-15 14:24:00 +0000 |
| commit | 09541513e6bef3917326cc066dae96e92edb5f0c (patch) | |
| tree | 8f13ba1c27fa71bca5ff5dc11e277f4af645bc1b /sys/netinet6/in6.c | |
| parent | 03578dfec703a60ebec71fd93f9d51aad96909d4 (diff) | |
Notes
Diffstat (limited to 'sys/netinet6/in6.c')
| -rw-r--r-- | sys/netinet6/in6.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index b17eaa12c9f2..9a5b4046653c 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -894,8 +894,13 @@ in6_update_ifa(ifp, ifra, ia) */ if (ia == NULL) { hostIsNew = 1; + /* + * When in6_update_ifa() is called in a process of a received + * RA, it is called under splnet(). So, we should call malloc + * with M_NOWAIT. + */ ia = (struct in6_ifaddr *) - malloc(sizeof(*ia), M_IFADDR, M_WAITOK); + malloc(sizeof(*ia), M_IFADDR, M_NOWAIT); if (ia == NULL) return (ENOBUFS); bzero((caddr_t)ia, sizeof(*ia)); |
