aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c7
-rw-r--r--drivers/net/hyperv/hyperv_net.h2
-rw-r--r--drivers/net/usb/Kconfig4
-rw-r--r--drivers/net/vmxnet3/vmxnet3_drv.c2
-rw-r--r--drivers/net/wireless/Kconfig1
-rw-r--r--include/net/sock.h6
-rw-r--r--include/uapi/linux/in6.h2
-rw-r--r--net/ipv4/tcp.c12
-rw-r--r--net/ipv4/tcp_ipv4.c36
-rw-r--r--net/ipv4/tcp_offload.c8
-rw-r--r--net/ipv6/tcp_ipv6.c25
-rw-r--r--net/netlink/af_netlink.c1
-rw-r--r--net/netlink/af_netlink.h1
-rw-r--r--net/netlink/diag.c3
-rw-r--r--net/socket.c20
15 files changed, 86 insertions, 44 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 4247356c16ff..1a162d21d8ac 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -6527,11 +6527,9 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
6527 6527
6528 /* We control everything through one PF */ 6528 /* We control everything through one PF */
6529 func = SOURCEPF_GET(readl(adapter->regs + PL_WHOAMI)); 6529 func = SOURCEPF_GET(readl(adapter->regs + PL_WHOAMI));
6530 if ((pdev->device == 0xa000 && func != 0) || 6530 if (func != ent->driver_data) {
6531 func != ent->driver_data) {
6532 pci_save_state(pdev); /* to restore SR-IOV later */ 6531 pci_save_state(pdev); /* to restore SR-IOV later */
6533 err = 0; 6532 goto sriov;
6534 goto out_unmap_bar0;
6535 } 6533 }
6536 6534
6537 adapter->pdev = pdev; 6535 adapter->pdev = pdev;
@@ -6697,6 +6695,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
6697 if (is_offload(adapter)) 6695 if (is_offload(adapter))
6698 attach_ulds(adapter); 6696 attach_ulds(adapter);
6699 6697
6698sriov:
6700#ifdef CONFIG_PCI_IOV 6699#ifdef CONFIG_PCI_IOV
6701 if (func < ARRAY_SIZE(num_vf) && num_vf[func] > 0) 6700 if (func < ARRAY_SIZE(num_vf) && num_vf[func] > 0)
6702 if (pci_enable_sriov(pdev, num_vf[func]) == 0) 6701 if (pci_enable_sriov(pdev, num_vf[func]) == 0)
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 02a3ee282eee..d5e07def6a59 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -585,7 +585,7 @@ struct nvsp_message {
585 585
586#define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */ 586#define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */
587#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY (1024*1024*15) /* 15MB */ 587#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY (1024*1024*15) /* 15MB */
588#define NETVSC_SEND_BUFFER_SIZE (1024 * 1024 * 16) /* 16MB */ 588#define NETVSC_SEND_BUFFER_SIZE (1024 * 1024 * 15) /* 15MB */
589#define NETVSC_INVALID_INDEX -1 589#define NETVSC_INVALID_INDEX -1
590 590
591 591
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index 9f194a0bef7c..37eed4d84e9c 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -5,8 +5,8 @@ comment "Host-side USB support is needed for USB Network Adapter support"
5 depends on !USB && NET 5 depends on !USB && NET
6 6
7menuconfig USB_NET_DRIVERS 7menuconfig USB_NET_DRIVERS
8 bool "USB Network Adapters" 8 tristate "USB Network Adapters"
9 default y 9 default USB if USB
10 depends on USB && NET 10 depends on USB && NET
11 11
12if USB_NET_DRIVERS 12if USB_NET_DRIVERS
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
index b76f7dcde0db..d0db371c30a7 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b/drivers/net/vmxnet3/vmxnet3_drv.c
@@ -766,7 +766,7 @@ vmxnet3_map_pkt(struct sk_buff *skb, struct vmxnet3_tx_ctx *ctx,
766 gdesc->dword[3] = 0; 766 gdesc->dword[3] = 0;
767 767
768 netdev_dbg(adapter->netdev, 768 netdev_dbg(adapter->netdev,
769 "txd[%u]: 0x%llu %u %u\n", 769 "txd[%u]: 0x%llx %u %u\n",
770 tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr), 770 tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr),
771 le32_to_cpu(gdesc->dword[2]), gdesc->dword[3]); 771 le32_to_cpu(gdesc->dword[2]), gdesc->dword[3]);
772 vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); 772 vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring);
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index b2137e8f7ca6..16604bdf5197 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -189,6 +189,7 @@ config USB_NET_RNDIS_WLAN
189 tristate "Wireless RNDIS USB support" 189 tristate "Wireless RNDIS USB support"
190 depends on USB 190 depends on USB
191 depends on CFG80211 191 depends on CFG80211
192 select USB_NET_DRIVERS
192 select USB_USBNET 193 select USB_USBNET
193 select USB_NET_CDCETHER 194 select USB_NET_CDCETHER
194 select USB_NET_RNDIS_HOST 195 select USB_NET_RNDIS_HOST
diff --git a/include/net/sock.h b/include/net/sock.h
index 52fe0bc5598a..38805fa02e48 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -2199,9 +2199,11 @@ static inline void sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk,
2199/** 2199/**
2200 * sock_tx_timestamp - checks whether the outgoing packet is to be time stamped 2200 * sock_tx_timestamp - checks whether the outgoing packet is to be time stamped
2201 * @sk: socket sending this packet 2201 * @sk: socket sending this packet
2202 * @tx_flags: filled with instructions for time stamping 2202 * @tx_flags: completed with instructions for time stamping
2203 *
2204 * Note : callers should take care of initial *tx_flags value (usually 0)
2203 */ 2205 */
2204void sock_tx_timestamp(struct sock *sk, __u8 *tx_flags); 2206void sock_tx_timestamp(const struct sock *sk, __u8 *tx_flags);
2205 2207
2206/** 2208/**
2207 * sk_eat_skb - Release a skb if it is no longer needed 2209 * sk_eat_skb - Release a skb if it is no longer needed
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h
index 22b7a69619d8..74a2a1773494 100644
--- a/include/uapi/linux/in6.h
+++ b/include/uapi/linux/in6.h
@@ -233,7 +233,6 @@ struct in6_flowlabel_req {
233#if 0 /* not yet */ 233#if 0 /* not yet */
234#define IPV6_USE_MIN_MTU 63 234#define IPV6_USE_MIN_MTU 63
235#endif 235#endif
236#define IPV6_AUTOFLOWLABEL 64
237 236
238/* 237/*
239 * Netfilter (1) 238 * Netfilter (1)
@@ -262,6 +261,7 @@ struct in6_flowlabel_req {
262 * IP6T_SO_ORIGINAL_DST 80 261 * IP6T_SO_ORIGINAL_DST 80
263 */ 262 */
264 263
264#define IPV6_AUTOFLOWLABEL 70
265/* RFC5014: Source address selection */ 265/* RFC5014: Source address selection */
266#define IPV6_ADDR_PREFERENCES 72 266#define IPV6_ADDR_PREFERENCES 72
267 267
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 744af67a5989..181b70ebd964 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -426,13 +426,15 @@ void tcp_init_sock(struct sock *sk)
426} 426}
427EXPORT_SYMBOL(tcp_init_sock); 427EXPORT_SYMBOL(tcp_init_sock);
428 428
429void tcp_tx_timestamp(struct sock *sk, struct sk_buff *skb) 429static void tcp_tx_timestamp(struct sock *sk, struct sk_buff *skb)
430{ 430{
431 struct skb_shared_info *shinfo = skb_shinfo(skb); 431 if (sk->sk_tsflags) {
432 struct skb_shared_info *shinfo = skb_shinfo(skb);
432 433
433 sock_tx_timestamp(sk, &shinfo->tx_flags); 434 sock_tx_timestamp(sk, &shinfo->tx_flags);
434 if (shinfo->tx_flags & SKBTX_ANY_SW_TSTAMP) 435 if (shinfo->tx_flags & SKBTX_ANY_TSTAMP)
435 shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; 436 shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1;
437 }
436} 438}
437 439
438/* 440/*
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 992a1f926009..dceff5fe8e66 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1167,7 +1167,8 @@ clear_hash_noput:
1167} 1167}
1168EXPORT_SYMBOL(tcp_v4_md5_hash_skb); 1168EXPORT_SYMBOL(tcp_v4_md5_hash_skb);
1169 1169
1170static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) 1170static bool __tcp_v4_inbound_md5_hash(struct sock *sk,
1171 const struct sk_buff *skb)
1171{ 1172{
1172 /* 1173 /*
1173 * This gets called for each TCP segment that arrives 1174 * This gets called for each TCP segment that arrives
@@ -1220,6 +1221,17 @@ static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb)
1220 return false; 1221 return false;
1221} 1222}
1222 1223
1224static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb)
1225{
1226 bool ret;
1227
1228 rcu_read_lock();
1229 ret = __tcp_v4_inbound_md5_hash(sk, skb);
1230 rcu_read_unlock();
1231