l2tp: split l2tp_session_get()
l2tp_session_get() is used for two different purposes. If 'tunnel' is NULL, the session is searched globally in the supplied network namespace. Otherwise it is searched exclusively in the tunnel context. Callers always know the context in which they need to search the session. But some of them do provide both a namespace and a tunnel, making the semantic of the call unclear. This patch defines l2tp_tunnel_get_session() for lookups done in a tunnel and restricts l2tp_session_get() to namespace searches. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d6a61ec936
commit
01e28b921b
@@ -66,7 +66,7 @@ static struct l2tp_session *l2tp_nl_session_get(struct genl_info *info)
|
||||
session_id = nla_get_u32(info->attrs[L2TP_ATTR_SESSION_ID]);
|
||||
tunnel = l2tp_tunnel_get(net, tunnel_id);
|
||||
if (tunnel) {
|
||||
session = l2tp_session_get(net, tunnel, session_id);
|
||||
session = l2tp_tunnel_get_session(tunnel, session_id);
|
||||
l2tp_tunnel_dec_refcount(tunnel);
|
||||
}
|
||||
}
|
||||
@@ -627,7 +627,7 @@ static int l2tp_nl_cmd_session_create(struct sk_buff *skb, struct genl_info *inf
|
||||
&cfg);
|
||||
|
||||
if (ret >= 0) {
|
||||
session = l2tp_session_get(net, tunnel, session_id);
|
||||
session = l2tp_tunnel_get_session(tunnel, session_id);
|
||||
if (session) {
|
||||
ret = l2tp_session_notify(&l2tp_nl_family, info, session,
|
||||
L2TP_CMD_SESSION_CREATE);
|
||||
|
||||
Reference in New Issue
Block a user