mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 06:32:08 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
In netdevice.h we removed the structure in net-next that is being changes in 'net'. In macsec.c and rtnetlink.c we have overlaps between fixes in 'net' and the u64 attribute changes in 'net-next'. The mlx5 conflicts have to do with vxlan support dependencies. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
e800072c18
147 changed files with 1271 additions and 577 deletions
|
@ -21,18 +21,19 @@
|
|||
#include <asm/uaccess.h>
|
||||
#include "br_private.h"
|
||||
|
||||
/* called with RTNL */
|
||||
static int get_bridge_ifindices(struct net *net, int *indices, int num)
|
||||
{
|
||||
struct net_device *dev;
|
||||
int i = 0;
|
||||
|
||||
for_each_netdev(net, dev) {
|
||||
rcu_read_lock();
|
||||
for_each_netdev_rcu(net, dev) {
|
||||
if (i >= num)
|
||||
break;
|
||||
if (dev->priv_flags & IFF_EBRIDGE)
|
||||
indices[i++] = dev->ifindex;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
||||
return i;
|
||||
}
|
||||
|
|
|
@ -1279,6 +1279,7 @@ static int br_ip4_multicast_query(struct net_bridge *br,
|
|||
struct br_ip saddr;
|
||||
unsigned long max_delay;
|
||||
unsigned long now = jiffies;
|
||||
unsigned int offset = skb_transport_offset(skb);
|
||||
__be32 group;
|
||||
int err = 0;
|
||||
|
||||
|
@ -1289,14 +1290,14 @@ static int br_ip4_multicast_query(struct net_bridge *br,
|
|||
|
||||
group = ih->group;
|
||||
|
||||
if (skb->len == sizeof(*ih)) {
|
||||
if (skb->len == offset + sizeof(*ih)) {
|
||||
max_delay = ih->code * (HZ / IGMP_TIMER_SCALE);
|
||||
|
||||
if (!max_delay) {
|
||||
max_delay = 10 * HZ;
|
||||
group = 0;
|
||||
}
|
||||
} else if (skb->len >= sizeof(*ih3)) {
|
||||
} else if (skb->len >= offset + sizeof(*ih3)) {
|
||||
ih3 = igmpv3_query_hdr(skb);
|
||||
if (ih3->nsrcs)
|
||||
goto out;
|
||||
|
@ -1357,6 +1358,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|||
struct br_ip saddr;
|
||||
unsigned long max_delay;
|
||||
unsigned long now = jiffies;
|
||||
unsigned int offset = skb_transport_offset(skb);
|
||||
const struct in6_addr *group = NULL;
|
||||
bool is_general_query;
|
||||
int err = 0;
|
||||
|
@ -1366,8 +1368,8 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|||
(port && port->state == BR_STATE_DISABLED))
|
||||
goto out;
|
||||
|
||||
if (skb->len == sizeof(*mld)) {
|
||||
if (!pskb_may_pull(skb, sizeof(*mld))) {
|
||||
if (skb->len == offset + sizeof(*mld)) {
|
||||
if (!pskb_may_pull(skb, offset + sizeof(*mld))) {
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
@ -1376,7 +1378,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|||
if (max_delay)
|
||||
group = &mld->mld_mca;
|
||||
} else {
|
||||
if (!pskb_may_pull(skb, sizeof(*mld2q))) {
|
||||
if (!pskb_may_pull(skb, offset + sizeof(*mld2q))) {
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue