Pull networking fixes from David Miller: 1) Unbreak zebra and other netlink apps, from Eric W Biederman. 2) Some new qmi_wwan device IDs, from Aleksander Morgado. 3) Fix info leak in DCB netlink handler of qlcnic driver, from Dan Carpenter. 4) inet_getid() and ipv6_select_ident() do not generate monotonically increasing ID numbers, fix from Eric Dumazet. 5) Fix memory leak in __sk_prepare_filter(), from Leon Yu. 6) Netlink leftover bytes warning message is user triggerable, rate limit it. From Michal Schmidt. 7) Fix non-linear SKB panic in ipvs, from Peter Christensen. 8) Congestion window undo needs to be performed even if only never retransmitted data is SACK'd, fix from Yuching Cheng. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (24 commits) net: filter: fix possible memory leak in __sk_prepare_filter() net: ec_bhf: Add runtime dependencies tcp: fix cwnd undo on DSACK in F-RTO netlink: Only check file credentials for implicit destinations ipheth: Add support for iPad 2 and iPad 3 team: fix mtu setting net: fix inet_getid() and ipv6_select_ident() bugs net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI net: qmi_wwan: add additional Sierra Wireless QMI devices bridge: Prevent insertion of FDB entry with disallowed vlan netlink: rate-limit leftover bytes warning and print process name bridge: notify user space after fdb update net: qmi_wwan: add Netgear AirCard 341U net: fix wrong mac_len calculation for vlans batman-adv: fix NULL pointer dereferences net/mlx4_core: Reset RoCE VF gids when guest driver goes down emac: aggregation of v1-2 PLB errors for IER register emac: add missing support of 10mbit in emac/rgmii can: only rename enabled led triggers when changing the netdev name ipvs: Fix panic due to non-linear skb ...
Showing the changes to include (3 of 31 files). Show all
Unified · Split
| @@ -194,6 +194,7 @@ struct team { · 193 unmodified lines | ||
| 194 | 194 | bool user_carrier_enabled; |
| 195 | 195 | bool queue_override_enabled; |
| 196 | 196 | struct list_head *qom_lists; /* array of queue override mapping lists */ |
| 197 | + bool port_mtu_change_allowed; | |
| 197 | 198 | struct { |
| 198 | 199 | unsigned int count; |
| 199 | 200 | unsigned int interval; /* in ms */ |
| @@ -16,9 +16,10 @@ static inline struct nlmsghdr *nlmsg_hdr(const struct sk_buff *skb) · 15 unmodified lines | ||
| 16 | 16 | } |
| 17 | 17 | |
| 18 | 18 | enum netlink_skb_flags { |
| 19 | − NETLINK_SKB_MMAPED = 0x1, /* Packet data is mmaped */ | |
| 20 | − NETLINK_SKB_TX = 0x2, /* Packet was sent by userspace */ | |
| 21 | − NETLINK_SKB_DELIVERED = 0x4, /* Packet was delivered */ | |
| 19 | + NETLINK_SKB_MMAPED = 0x1, /* Packet data is mmaped */ | |
| 20 | + NETLINK_SKB_TX = 0x2, /* Packet was sent by userspace */ | |
| 21 | + NETLINK_SKB_DELIVERED = 0x4, /* Packet was delivered */ | |
| 22 | + NETLINK_SKB_DST = 0x8, /* Dst set in sendto or sendmsg */ | |
| 22 | 23 | }; |
| 23 | 24 | |
| 24 | 25 | struct netlink_skb_parms { |
| @@ -177,16 +177,9 @@ static inline void inet_peer_refcheck(const struct inet_peer *p) · 176 unmodified lines | ||
| 177 | 177 | /* can be called with or without local BH being disabled */ |
| 178 | 178 | static inline int inet_getid(struct inet_peer *p, int more) |
| 179 | 179 | { |
| 180 | − int old, new; | |
| 181 | 180 | more++; |
| 182 | 181 | inet_peer_refcheck(p); |
| 183 | − do { | |
| 184 | − old = atomic_read(&p->ip_id_count); | |
| 185 | − new = old + more; | |
| 186 | − if (!new) | |
| 187 | − new = 1; | |
| 188 | − } while (atomic_cmpxchg(&p->ip_id_count, old, new) != old); | |
| 189 | − return new; | |
| 182 | + return atomic_add_return(more, &p->ip_id_count) - more; | |
| 190 | 183 | } |
| 191 | 184 | |
| 192 | 185 | #endif /* _NET_INETPEER_H */ |