summaryrefslogtreecommitdiff
path: root/net/l2tp/l2tp_core.h
diff options
context:
space:
mode:
authorTom Parkin <tparkin@katalix.com>2013-02-01 03:43:00 +0400
committerDavid S. Miller <davem@davemloft.net>2013-02-05 23:20:30 +0400
commitf8ccac0e44934ff9414b31cc3167a5c828afec73 (patch)
treeec40a75d99912502d4bbb3df76f26d8aea96f236 /net/l2tp/l2tp_core.h
parent188d1f76d0dd3715ceeadfa31376867c3395eb41 (diff)
downloadlinux-f8ccac0e44934ff9414b31cc3167a5c828afec73.tar.xz
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.h2
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 */
};