PERFORCE change 80730 for review
Robert Watson
rwatson at FreeBSD.org
Fri Jul 22 02:46:39 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=80730
Change 80730 by rwatson at rwatson_zoo on 2005/07/22 02:45:35
Use M_NOWAIT when allocating address storage in if_resolvemulti()
methods, so that the method can be called with a mutex held (see
description of similar change in if_addmulti()).
Affected files ...
.. //depot/projects/netsmp/src/sys/net/if_arcsubr.c#2 edit
.. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#2 edit
.. //depot/projects/netsmp/src/sys/net/if_fddisubr.c#2 edit
.. //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#2 edit
Differences ...
==== //depot/projects/netsmp/src/sys/net/if_arcsubr.c#2 (text+ko) ====
@@ -798,7 +798,9 @@
if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr)))
return EADDRNOTAVAIL;
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_ZERO);
+ M_NOWAIT | M_ZERO);
+ if (sdl == NULL)
+ return ENOMEM;
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
@@ -824,7 +826,9 @@
if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr))
return EADDRNOTAVAIL;
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_ZERO);
+ M_NOWAIT | M_ZERO);
+ if (sdl == NULL)
+ return ENOMEM;
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
==== //depot/projects/netsmp/src/sys/net/if_ethersubr.c#2 (text+ko) ====
@@ -1135,7 +1135,9 @@
if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr)))
return EADDRNOTAVAIL;
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK|M_ZERO);
+ M_NOWAIT|M_ZERO);
+ if (sdl == NULL)
+ return ENOMEM;
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
@@ -1162,7 +1164,9 @@
if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr))
return EADDRNOTAVAIL;
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK|M_ZERO);
+ M_NOWAIT|M_ZERO);
+ if (sdl == NULL)
+ return (ENOMEM);
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
==== //depot/projects/netsmp/src/sys/net/if_fddisubr.c#2 (text+ko) ====
@@ -720,7 +720,9 @@
if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr)))
return (EADDRNOTAVAIL);
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK);
+ M_NOWAIT | M_ZERO);
+ if (sdl == NULL)
+ return (ENOMEM);
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
@@ -749,7 +751,9 @@
if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr))
return (EADDRNOTAVAIL);
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK);
+ M_NOWAIT | M_ZERO);
+ if (sdl == NULL)
+ return (ENOMEM);
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
==== //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#2 (text+ko) ====
@@ -720,7 +720,9 @@
return (EADDRNOTAVAIL);
}
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK|M_ZERO);
+ M_NOWAIT|M_ZERO);
+ if (sdl == NULL)
+ return (ENOMEM);
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
@@ -748,7 +750,9 @@
return (EADDRNOTAVAIL);
}
MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR,
- M_WAITOK|M_ZERO);
+ M_NOWAIT|M_ZERO);
+ if (sdl == NULL)
+ return (ENOMEM);
sdl->sdl_len = sizeof *sdl;
sdl->sdl_family = AF_LINK;
sdl->sdl_index = ifp->if_index;
More information about the p4-projects
mailing list