diff options
author | Tom Parkin <tparkin@katalix.com> | 2013-01-31 23:43:00 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-05 14:20:30 -0500 |
commit | f8ccac0e44934ff9414b31cc3167a5c828afec73 (patch) | |
tree | ec40a75d99912502d4bbb3df76f26d8aea96f236 /net/l2tp/l2tp_core.h | |
parent | 188d1f76d0dd3715ceeadfa31376867c3395eb41 (diff) |
l2tp: put tunnel socket release on a workqueue
To allow l2tp_tunnel_delete to be called from an atomic context, place the
tunnel socket release calls on a workqueue for asynchronous execution.
Tunnel memory is eventually freed in the tunnel socket destructor.
Signed-off-by: Tom Parkin <tparkin@katalix.com>
Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/l2tp/l2tp_core.h')
-rw-r--r-- | net/l2tp/l2tp_core.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/l2tp/l2tp_core.h b/net/l2tp/l2tp_core.h index e62204cad4fe..8eb8f1d47f3a 100644 --- a/net/l2tp/l2tp_core.h +++ b/net/l2tp/l2tp_core.h @@ -191,6 +191,8 @@ struct l2tp_tunnel { int fd; /* Parent fd, if tunnel socket * was created by userspace */ + struct work_struct del_work; + uint8_t priv[0]; /* private data */ }; |