summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/net/if_arcsubr.c8
-rw-r--r--sys/net/if_ethersubr.c8
-rw-r--r--sys/net/if_fddisubr.c8
-rw-r--r--sys/net/if_iso88025subr.c8
4 files changed, 24 insertions, 8 deletions
diff --git a/sys/net/if_arcsubr.c b/sys/net/if_arcsubr.c
index e944f49..09a672f 100644
--- a/sys/net/if_arcsubr.c
+++ b/sys/net/if_arcsubr.c
@@ -798,7 +798,9 @@ arc_resolvemulti(ifp, llsa, sa)
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 @@ arc_resolvemulti(ifp, llsa, sa)
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;
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 21afd95..d2423a4 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -1144,7 +1144,9 @@ ether_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa,
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;
@@ -1171,7 +1173,9 @@ ether_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa,
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;
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c
index dd6b451..4c626f2 100644
--- a/sys/net/if_fddisubr.c
+++ b/sys/net/if_fddisubr.c
@@ -720,7 +720,9 @@ fddi_resolvemulti(ifp, llsa, sa)
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 @@ fddi_resolvemulti(ifp, llsa, sa)
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;
diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c
index d497143..fd04bc1 100644
--- a/sys/net/if_iso88025subr.c
+++ b/sys/net/if_iso88025subr.c
@@ -720,7 +720,9 @@ iso88025_resolvemulti (ifp, llsa, sa)
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 @@ iso88025_resolvemulti (ifp, llsa, sa)
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;
OpenPOWER on IntegriCloud