You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/usb/r8152.c drivers/net/xen-netback/netback.c Both the r8152 and netback conflicts were simple overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -112,7 +112,6 @@ struct l2tp_net {
|
||||
spinlock_t l2tp_session_hlist_lock;
|
||||
};
|
||||
|
||||
static void l2tp_session_set_header_len(struct l2tp_session *session, int version);
|
||||
static void l2tp_tunnel_free(struct l2tp_tunnel *tunnel);
|
||||
|
||||
static inline struct l2tp_tunnel *l2tp_tunnel(struct sock *sk)
|
||||
@@ -1841,7 +1840,7 @@ EXPORT_SYMBOL_GPL(l2tp_session_delete);
|
||||
/* We come here whenever a session's send_seq, cookie_len or
|
||||
* l2specific_len parameters are set.
|
||||
*/
|
||||
static void l2tp_session_set_header_len(struct l2tp_session *session, int version)
|
||||
void l2tp_session_set_header_len(struct l2tp_session *session, int version)
|
||||
{
|
||||
if (version == L2TP_HDR_VER_2) {
|
||||
session->hdr_len = 6;
|
||||
@@ -1854,6 +1853,7 @@ static void l2tp_session_set_header_len(struct l2tp_session *session, int versio
|
||||
}
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(l2tp_session_set_header_len);
|
||||
|
||||
struct l2tp_session *l2tp_session_create(int priv_size, struct l2tp_tunnel *tunnel, u32 session_id, u32 peer_session_id, struct l2tp_session_cfg *cfg)
|
||||
{
|
||||
|
||||
@@ -263,6 +263,7 @@ void l2tp_recv_common(struct l2tp_session *session, struct sk_buff *skb,
|
||||
int length, int (*payload_hook)(struct sk_buff *skb));
|
||||
int l2tp_session_queue_purge(struct l2tp_session *session);
|
||||
int l2tp_udp_encap_recv(struct sock *sk, struct sk_buff *skb);
|
||||
void l2tp_session_set_header_len(struct l2tp_session *session, int version);
|
||||
|
||||
int l2tp_xmit_skb(struct l2tp_session *session, struct sk_buff *skb,
|
||||
int hdr_len);
|
||||
|
||||
@@ -578,8 +578,10 @@ static int l2tp_nl_cmd_session_modify(struct sk_buff *skb, struct genl_info *inf
|
||||
if (info->attrs[L2TP_ATTR_RECV_SEQ])
|
||||
session->recv_seq = nla_get_u8(info->attrs[L2TP_ATTR_RECV_SEQ]);
|
||||
|
||||
if (info->attrs[L2TP_ATTR_SEND_SEQ])
|
||||
if (info->attrs[L2TP_ATTR_SEND_SEQ]) {
|
||||
session->send_seq = nla_get_u8(info->attrs[L2TP_ATTR_SEND_SEQ]);
|
||||
l2tp_session_set_header_len(session, session->tunnel->version);
|
||||
}
|
||||
|
||||
if (info->attrs[L2TP_ATTR_LNS_MODE])
|
||||
session->lns_mode = nla_get_u8(info->attrs[L2TP_ATTR_LNS_MODE]);
|
||||
|
||||
+8
-5
@@ -254,12 +254,14 @@ static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int
|
||||
po = pppox_sk(sk);
|
||||
ppp_input(&po->chan, skb);
|
||||
} else {
|
||||
l2tp_info(session, PPPOL2TP_MSG_DATA, "%s: socket not bound\n",
|
||||
session->name);
|
||||
l2tp_dbg(session, PPPOL2TP_MSG_DATA,
|
||||
"%s: recv %d byte data frame, passing to L2TP socket\n",
|
||||
session->name, data_len);
|
||||
|
||||
/* Not bound. Nothing we can do, so discard. */
|
||||
atomic_long_inc(&session->stats.rx_errors);
|
||||
kfree_skb(skb);
|
||||
if (sock_queue_rcv_skb(sk, skb) < 0) {
|
||||
atomic_long_inc(&session->stats.rx_errors);
|
||||
kfree_skb(skb);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -1309,6 +1311,7 @@ static int pppol2tp_session_setsockopt(struct sock *sk,
|
||||
po->chan.hdrlen = val ? PPPOL2TP_L2TP_HDR_SIZE_SEQ :
|
||||
PPPOL2TP_L2TP_HDR_SIZE_NOSEQ;
|
||||
}
|
||||
l2tp_session_set_header_len(session, session->tunnel->version);
|
||||
l2tp_info(session, PPPOL2TP_MSG_CONTROL,
|
||||
"%s: set send_seq=%d\n",
|
||||
session->name, session->send_seq);
|
||||
|
||||
Reference in New Issue
Block a user