From 6181ae5a65fc50ad5429c92e2cdde8715bfcb0c7 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 4 Jun 2014 20:52:16 -0700 Subject: [PATCH] 3.4-stable patches added patches: pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch --- ...v-switch-to-use-mb-instead-of-smp_mb.patch | 1 + ...on-t-touch-aspm-if-forcibly-disabled.patch | 36 ++++++++ queue-3.4/series | 2 + ...x_size-to-account-for-max-tcp-header.patch | 86 +++++++++++++++++++ 4 files changed, 125 insertions(+) create mode 100644 queue-3.4/pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch create mode 100644 queue-3.4/xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch diff --git a/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch b/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch index d26a0b87582..37bc94cda66 100644 --- a/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch +++ b/queue-3.4/drivers-hv-switch-to-use-mb-instead-of-smp_mb.patch @@ -22,6 +22,7 @@ Signed-off-by: Ben Hutchings [hq: Backported to 3.4: - Add the change in hv_ringbuffer_read] Signed-off-by: Qiang Huang +Signed-off-by: Greg Kroah-Hartman --- drivers/hv/ring_buffer.c | 4 ++-- diff --git a/queue-3.4/pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch b/queue-3.4/pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch new file mode 100644 index 00000000000..4767dd2c9e2 --- /dev/null +++ b/queue-3.4/pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch @@ -0,0 +1,36 @@ +From a26d5ecb3201c11e03663a8f4a7dedc0c5f85c07 Mon Sep 17 00:00:00 2001 +From: Joe Lawrence +Date: Tue, 15 Jan 2013 15:31:28 -0500 +Subject: PCI/ASPM: Don't touch ASPM if forcibly disabled + +From: Joe Lawrence + +commit a26d5ecb3201c11e03663a8f4a7dedc0c5f85c07 upstream. + +Don't allocate and track PCIe ASPM state when "pcie_aspm=off" is specified +on the kernel command line. + +Based-on-patch-from: Matthew Garrett +Signed-off-by: Joe Lawrence +Signed-off-by: Bjorn Helgaas +Reviewed-by: David Bulkow +Acked-by: Myron Stowe +[wyj: Backported to 3.4: context adjust] +Signed-off-by: Yijing Wang +Signed-off-by: Greg Kroah-Hartman +--- + drivers/pci/pcie/aspm.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/pci/pcie/aspm.c ++++ b/drivers/pci/pcie/aspm.c +@@ -583,6 +583,9 @@ void pcie_aspm_init_link_state(struct pc + struct pcie_link_state *link; + int blacklist = !!pcie_aspm_sanity_check(pdev); + ++ if (!aspm_support_enabled) ++ return; ++ + if (!pci_is_pcie(pdev) || pdev->link_state) + return; + if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT && diff --git a/queue-3.4/series b/queue-3.4/series index fe1f2caaecc..efad48ccb2c 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -209,3 +209,5 @@ backlight-atmel-pwm-bl-fix-gpio-polarity-in-remove.patch can-sja1000-fix-pre-post-_irq-handling-and-irq-handler-return-value.patch crypto-s390-fix-aes-xts-parameter-corruption.patch net-add-net_ratelimited_function-and-net_-level-_ratelimited-macros.patch +xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch +pci-aspm-don-t-touch-aspm-if-forcibly-disabled.patch diff --git a/queue-3.4/xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch b/queue-3.4/xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch new file mode 100644 index 00000000000..e8e5993a498 --- /dev/null +++ b/queue-3.4/xen-netfront-reduce-gso_max_size-to-account-for-max-tcp-header.patch @@ -0,0 +1,86 @@ +From 9ecd1a75d977e2e8c48139c7d3efed183f898d94 Mon Sep 17 00:00:00 2001 +From: Wei Liu +Date: Mon, 22 Apr 2013 02:20:41 +0000 +Subject: xen-netfront: reduce gso_max_size to account for max TCP header + +From: Wei Liu + +commit 9ecd1a75d977e2e8c48139c7d3efed183f898d94 upstream. + +The maximum packet including header that can be handled by netfront / netback +wire format is 65535. Reduce gso_max_size accordingly. + +Drop skb and print warning when skb->len > 65535. This can 1) save the effort +to send malformed packet to netback, 2) help spotting misconfiguration of +netfront in the future. + +Signed-off-by: Wei Liu +Acked-by: Ian Campbell +Signed-off-by: David S. Miller +[bwh: Backported to 3.2: adjust context] +Signed-off-by: Ben Hutchings +[hq: Backported to 3.4: adjust context] +Signed-off-by: Qiang Huang +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/xen-netfront.c | 17 +++++++++++++++-- + include/xen/interface/io/netif.h | 1 + + 2 files changed, 16 insertions(+), 2 deletions(-) + +--- a/drivers/net/xen-netfront.c ++++ b/drivers/net/xen-netfront.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -492,6 +492,16 @@ static int xennet_start_xmit(struct sk_b + unsigned int len = skb_headlen(skb); + unsigned long flags; + ++ /* If skb->len is too big for wire format, drop skb and alert ++ * user about misconfiguration. ++ */ ++ if (unlikely(skb->len > XEN_NETIF_MAX_TX_SIZE)) { ++ net_alert_ratelimited( ++ "xennet: skb->len = %u, too big for wire format\n", ++ skb->len); ++ goto drop; ++ } ++ + frags += DIV_ROUND_UP(offset + len, PAGE_SIZE); + if (unlikely(frags > MAX_SKB_FRAGS + 1)) { + printk(KERN_ALERT "xennet: skb rides the rocket: %d frags\n", +@@ -1045,7 +1055,8 @@ err: + + static int xennet_change_mtu(struct net_device *dev, int mtu) + { +- int max = xennet_can_sg(dev) ? 65535 - ETH_HLEN : ETH_DATA_LEN; ++ int max = xennet_can_sg(dev) ? ++ XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER : ETH_DATA_LEN; + + if (mtu > max) + return -EINVAL; +@@ -1349,6 +1360,8 @@ static struct net_device * __devinit xen + SET_ETHTOOL_OPS(netdev, &xennet_ethtool_ops); + SET_NETDEV_DEV(netdev, &dev->dev); + ++ netif_set_gso_max_size(netdev, XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER); ++ + np->netdev = netdev; + + netif_carrier_off(netdev); +--- a/include/xen/interface/io/netif.h ++++ b/include/xen/interface/io/netif.h +@@ -65,6 +65,7 @@ + #define _XEN_NETTXF_extra_info (3) + #define XEN_NETTXF_extra_info (1U<<_XEN_NETTXF_extra_info) + ++#define XEN_NETIF_MAX_TX_SIZE 0xFFFF + struct xen_netif_tx_request { + grant_ref_t gref; /* Reference to buffer page */ + uint16_t offset; /* Offset within buffer page */ -- 2.47.3