do not M_WAITOK in in6_update_ifa(), since this function can be called
under splnet(). (some comment was added by KAME) PR: 28927 MFC after: 1 week
This commit is contained in:
parent
f07b174fb3
commit
e5aac591c6
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user