diff options
| author | Jon Grimm <jgrimm@touki.austin.ibm.com> | 2002-09-30 00:19:45 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2002-09-30 00:19:45 -0700 |
| commit | 184411aab120468c49112bd11fdd67bed3806918 (patch) | |
| tree | 2dd8a0e8b6528a2d0ac0f1434dc6a71b5624d1d8 | |
| parent | 4e87a098903d4de48f6b43f6a5d52c59b3bbeb6e (diff) | |
sctp: Fix GFP_KERNEL allocation with lock held.
| -rw-r--r-- | net/sctp/protocol.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c index a502583919d2..791f773b4a39 100644 --- a/net/sctp/protocol.c +++ b/net/sctp/protocol.c @@ -119,8 +119,7 @@ static inline void sctp_v4_get_local_addr_list(sctp_protocol_t *proto, for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { /* Add the address to the local list. */ - /* XXX BUG: sleeping allocation with lock held -DaveM */ - addr = t_new(struct sockaddr_storage_list, GFP_KERNEL); + addr = t_new(struct sockaddr_storage_list, GFP_ATOMIC); if (addr) { INIT_LIST_HEAD(&addr->list); addr->a.v4.sin_family = AF_INET; @@ -157,8 +156,7 @@ static inline void sctp_v6_get_local_addr_list(sctp_protocol_t *proto, read_lock_bh(&in6_dev->lock); for (ifp = in6_dev->addr_list; ifp; ifp = ifp->if_next) { /* Add the address to the local list. */ - /* XXX BUG: sleeping allocation with lock held -DaveM */ - addr = t_new(struct sockaddr_storage_list, GFP_KERNEL); + addr = t_new(struct sockaddr_storage_list, GFP_ATOMIC); if (addr) { addr->a.v6.sin6_family = AF_INET6; addr->a.v6.sin6_port = 0; |
