From 8d7ca65dab585df56a8bbb69a48d42fb63104e1c Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 20 Feb 2011 19:59:25 +0000 Subject: [PATCH] add two solos-releated patches from Philip Prindeville SVN-Revision: 25630 --- .../280-solos_dont_null_deref.patch | 14 ++++++++++++++ .../280-solos_dont_null_deref.patch | 14 ++++++++++++++ .../280-solos_dont_null_deref.patch | 14 ++++++++++++++ .../281-solos_uniform_vpi_vci.patch | 16 ++++++++++++++++ .../280-solos_dont_null_deref.patch | 14 ++++++++++++++ .../patches-2.6.35/110-net5501_modstuff.patch | 6 +++--- 6 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch create mode 100644 target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch create mode 100644 target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch create mode 100644 target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch create mode 100644 target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch diff --git a/target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch new file mode 100644 index 00000000000..ae609573eea --- /dev/null +++ b/target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch @@ -0,0 +1,14 @@ +--- a/drivers/atm/solos-pci.c ++++ b/drivers/atm/solos-pci.c +@@ -864,8 +864,9 @@ static int popen(struct atm_vcc *vcc) + } + + skb = alloc_skb(sizeof(*header), GFP_ATOMIC); +- if (!skb && net_ratelimit()) { +- dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); ++ if (!skb) { ++ if (net_ratelimit()) ++ dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); + return -ENOMEM; + } + header = (void *)skb_put(skb, sizeof(*header)); diff --git a/target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch new file mode 100644 index 00000000000..13595725ca2 --- /dev/null +++ b/target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch @@ -0,0 +1,14 @@ +--- a/drivers/atm/solos-pci.c ++++ b/drivers/atm/solos-pci.c +@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc) + } + + skb = alloc_skb(sizeof(*header), GFP_ATOMIC); +- if (!skb && net_ratelimit()) { +- dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); ++ if (!skb) { ++ if (net_ratelimit()) ++ dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); + return -ENOMEM; + } + header = (void *)skb_put(skb, sizeof(*header)); diff --git a/target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch new file mode 100644 index 00000000000..13595725ca2 --- /dev/null +++ b/target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch @@ -0,0 +1,14 @@ +--- a/drivers/atm/solos-pci.c ++++ b/drivers/atm/solos-pci.c +@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc) + } + + skb = alloc_skb(sizeof(*header), GFP_ATOMIC); +- if (!skb && net_ratelimit()) { +- dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); ++ if (!skb) { ++ if (net_ratelimit()) ++ dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); + return -ENOMEM; + } + header = (void *)skb_put(skb, sizeof(*header)); diff --git a/target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch b/target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch new file mode 100644 index 00000000000..2071ac4b801 --- /dev/null +++ b/target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch @@ -0,0 +1,16 @@ +--- /dev/null ++++ b/linux/generic/patches-2.6.37/281-solos_vpi_order.patch +@@ -0,0 +1,13 @@ ++--- a/drivers/atm/solos-pci.c 2010-12-24 01:07:09.000000000 -0700 +++++ b/drivers/atm/solos-pci.c 2010-12-24 14:18:45.000000000 -0700 ++@@ -734,8 +734,8 @@ void solos_bh(unsigned long card_arg) ++ le16_to_cpu(header->vci)); ++ if (!vcc) { ++ if (net_ratelimit()) ++- dev_warn(&card->dev->dev, "Received packet for unknown VCI.VPI %d.%d on port %d\n", ++- le16_to_cpu(header->vci), le16_to_cpu(header->vpi), +++ dev_warn(&card->dev->dev, "Received packet for unknown VPI.VCI %d.%d on port %d\n", +++ le16_to_cpu(header->vpi), le16_to_cpu(header->vci), ++ port); ++ continue; ++ } diff --git a/target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch new file mode 100644 index 00000000000..13595725ca2 --- /dev/null +++ b/target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch @@ -0,0 +1,14 @@ +--- a/drivers/atm/solos-pci.c ++++ b/drivers/atm/solos-pci.c +@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc) + } + + skb = alloc_skb(sizeof(*header), GFP_ATOMIC); +- if (!skb && net_ratelimit()) { +- dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); ++ if (!skb) { ++ if (net_ratelimit()) ++ dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n"); + return -ENOMEM; + } + header = (void *)skb_put(skb, sizeof(*header)); diff --git a/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch b/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch index cd53952249d..ae41e548ecd 100644 --- a/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch +++ b/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch @@ -1,6 +1,6 @@ ---- a/drivers/leds/leds-net5501.c.orig 2010-09-28 19:09:08.000000000 -0600 -+++ b/drivers/leds/leds-net5501.c 2010-11-05 14:23:57.000000000 -0600 -@@ -92,3 +92,8 @@ +--- a/drivers/leds/leds-net5501.c ++++ b/drivers/leds/leds-net5501.c +@@ -92,3 +92,8 @@ unmap: } arch_initcall(soekris_init); -- 2.30.2