diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-05 18:25:48 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-05 18:25:48 -0400 |
| commit | 4b4a2700f462102569b407102c60d3b9cf4432a0 (patch) | |
| tree | d326b404c99ca477d47aa0e06eb64f0b3e2d8347 /net/rds/loop.c | |
| parent | f69fa76482e654f7d94e4aa40ea0ebf04363396a (diff) | |
| parent | 22e76c849d505d87c5ecf3d3e6742a65f0ff4860 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)
inet_diag: Make sure we actually run the same bytecode we audited.
netlink: Make nlmsg_find_attr take a const nlmsghdr*.
fib: fib_result_assign() should not change fib refcounts
netfilter: ip6_tables: fix information leak to userspace
cls_cgroup: Fix crash on module unload
memory corruption in X.25 facilities parsing
net dst: fix percpu_counter list corruption and poison overwritten
rds: Remove kfreed tcp conn from list
rds: Lost locking in loop connection freeing
de2104x: fix panic on load
atl1 : fix panic on load
netxen: remove unused firmware exports
caif: Remove noisy printout when disconnecting caif socket
caif: SPI-driver bugfix - incorrect padding.
caif: Bugfix for socket priority, bindtodev and dbg channel.
smsc911x: Set Ethernet EEPROM size to supported device's size
ipv4: netfilter: ip_tables: fix information leak to userland
ipv4: netfilter: arp_tables: fix information leak to userland
cxgb4vf: remove call to stop TX queues at load time.
cxgb4: remove call to stop TX queues at load time.
...
Diffstat (limited to 'net/rds/loop.c')
| -rw-r--r-- | net/rds/loop.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/rds/loop.c b/net/rds/loop.c index c390156b426f..aeec1d483b17 100644 --- a/net/rds/loop.c +++ b/net/rds/loop.c | |||
| @@ -134,8 +134,12 @@ static int rds_loop_conn_alloc(struct rds_connection *conn, gfp_t gfp) | |||
| 134 | static void rds_loop_conn_free(void *arg) | 134 | static void rds_loop_conn_free(void *arg) |
| 135 | { | 135 | { |
| 136 | struct rds_loop_connection *lc = arg; | 136 | struct rds_loop_connection *lc = arg; |
| 137 | unsigned long flags; | ||
| 138 | |||
| 137 | rdsdebug("lc %p\n", lc); | 139 | rdsdebug("lc %p\n", lc); |
| 140 | spin_lock_irqsave(&loop_conns_lock, flags); | ||
| 138 | list_del(&lc->loop_node); | 141 | list_del(&lc->loop_node); |
| 142 | spin_unlock_irqrestore(&loop_conns_lock, flags); | ||
| 139 | kfree(lc); | 143 | kfree(lc); |
| 140 | } | 144 | } |
| 141 | 145 | ||
