In the ddp_output() path, which can be called in a variety of threading
and locking contexts, use a non-sleeping allocation for mbufs. MFC after: 1 week
This commit is contained in:
parent
53f0cb84a4
commit
1a0fc144d0
@ -57,7 +57,7 @@ ddp_output(struct mbuf *m, struct socket *so)
|
||||
SOCK_UNLOCK(so);
|
||||
#endif
|
||||
|
||||
M_PREPEND(m, sizeof(struct ddpehdr), M_TRYWAIT);
|
||||
M_PREPEND(m, sizeof(struct ddpehdr), M_DONTWAIT);
|
||||
if (m == NULL)
|
||||
return (ENOBUFS);
|
||||
|
||||
@ -200,7 +200,7 @@ ddp_route(struct mbuf *m, struct route *ro)
|
||||
* packets end up poorly aligned due to the three byte elap header.
|
||||
*/
|
||||
if (!(aa->aa_flags & AFA_PHASE2)) {
|
||||
MGET(m0, M_TRYWAIT, MT_HEADER);
|
||||
MGET(m0, M_DONTWAIT, MT_HEADER);
|
||||
if (m0 == NULL) {
|
||||
m_freem(m);
|
||||
printf("ddp_route: no buffers\n");
|
||||
|
Loading…
Reference in New Issue
Block a user