Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: arch/s390/net/bpf_jit_comp.c drivers/net/ethernet/ti/netcp_ethss.c net/bridge/br_multicast.c net/ipv4/ip_fragment.c All four conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2401,7 +2401,8 @@ static int tpacket_snd(struct packet_sock *po, struct msghdr *msg)
|
||||
}
|
||||
tp_len = tpacket_fill_skb(po, skb, ph, dev, size_max, proto,
|
||||
addr, hlen);
|
||||
if (tp_len > dev->mtu + dev->hard_header_len) {
|
||||
if (likely(tp_len >= 0) &&
|
||||
tp_len > dev->mtu + dev->hard_header_len) {
|
||||
struct ethhdr *ehdr;
|
||||
/* Earlier code assumed this would be a VLAN pkt,
|
||||
* double-check this now that we have the actual
|
||||
@@ -2782,7 +2783,7 @@ static int packet_release(struct socket *sock)
|
||||
static int packet_do_bind(struct sock *sk, struct net_device *dev, __be16 proto)
|
||||
{
|
||||
struct packet_sock *po = pkt_sk(sk);
|
||||
const struct net_device *dev_curr;
|
||||
struct net_device *dev_curr;
|
||||
__be16 proto_curr;
|
||||
bool need_rehook;
|
||||
|
||||
@@ -2806,15 +2807,13 @@ static int packet_do_bind(struct sock *sk, struct net_device *dev, __be16 proto)
|
||||
|
||||
po->num = proto;
|
||||
po->prot_hook.type = proto;
|
||||
|
||||
if (po->prot_hook.dev)
|
||||
dev_put(po->prot_hook.dev);
|
||||
|
||||
po->prot_hook.dev = dev;
|
||||
|
||||
po->ifindex = dev ? dev->ifindex : 0;
|
||||
packet_cached_dev_assign(po, dev);
|
||||
}
|
||||
if (dev_curr)
|
||||
dev_put(dev_curr);
|
||||
|
||||
if (proto == 0 || !need_rehook)
|
||||
goto out_unlock;
|
||||
|
Reference in New Issue
Block a user