]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
start review cycle
authorGreg Kroah-Hartman <gregkh@suse.de>
Sun, 22 Jun 2008 19:02:21 +0000 (12:02 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 22 Jun 2008 19:02:21 +0000 (12:02 -0700)
review-2.6.25/atl1-relax-eeprom-mac-address-error-check.patch [moved from queue-2.6.25/atl1-relax-eeprom-mac-address-error-check.patch with 100% similarity]
review-2.6.25/mbox [new file with mode: 0644]
review-2.6.25/reinstate-zero_page-optimization-in-get_user_pages-and-fix-xip.patch [moved from queue-2.6.25/reinstate-zero_page-optimization-in-get_user_pages-and-fix-xip.patch with 100% similarity]
review-2.6.25/sctp-make-sure-n-sizeof-does-not-overflow.patch [moved from queue-2.6.25/sctp-make-sure-n-sizeof-does-not-overflow.patch with 100% similarity]
review-2.6.25/series [moved from queue-2.6.25/series with 100% similarity]
review-2.6.25/x86-set-pae-physical_mask_shift-to-44-bits.patch [moved from queue-2.6.25/x86-set-pae-physical_mask_shift-to-44-bits.patch with 100% similarity]
review-2.6.25/x86-use-bootmem_exclusive-on-32-bit.patch [moved from queue-2.6.25/x86-use-bootmem_exclusive-on-32-bit.patch with 100% similarity]

diff --git a/review-2.6.25/mbox b/review-2.6.25/mbox
new file mode 100644 (file)
index 0000000..5fc44f7
--- /dev/null
@@ -0,0 +1,544 @@
+From gregkh@mini.kroah.org Sun Jun 22 11:55:25 2008
+Message-Id: <20080622185524.883567870@mini.kroah.org>
+References: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:32 -0700
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk,
+ Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
+ Jan Beulich <jbeulich@novell.com>,
+ Ingo Molnar <mingo@elte.hu>
+Subject: [patch 5/5] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.
+Content-Disposition: inline; filename=x86-set-pae-physical_mask_shift-to-44-bits.patch
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Status: RO
+Content-Length: 1694
+Lines: 50
+
+2.6.25-stable review patch.  If anyone has any objections, please let us
+know.
+
+------------------
+From: Jeremy Fitzhardinge <jeremy@goop.org>
+
+commit ad524d46f36bbc32033bb72ba42958f12bf49b06 upstream
+
+When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can
+potentially have the same number of physical address bits as the
+64-bit host ("Enhanced Legacy PAE Paging").  This means, in theory,
+we could have up to 52 bits of physical address in a pte.
+
+The 32-bit kernel uses a 32-bit unsigned long to represent a pfn.
+This means that it can only represent physical addresses up to 32+12=44
+bits wide.  Rather than widening pfns everywhere, just set 2^44 as the
+Linux x86_32-PAE architectural limit for physical address size.
+
+This is a bugfix for two cases:
+1. running a 32-bit PAE kernel on a machine with
+  more than 64GB RAM.
+2. running a 32-bit PAE Xen guest on a host machine with
+  more than 64GB RAM
+
+In both cases, a pte could need to have more than 36 bits of physical,
+and masking it to 36-bits will cause fairly severe havoc.
+
+Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
+Cc: Jan Beulich <jbeulich@novell.com>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ include/asm-x86/page_32.h |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/include/asm-x86/page_32.h
++++ b/include/asm-x86/page_32.h
+@@ -14,7 +14,8 @@
+ #define __PAGE_OFFSET         _AC(CONFIG_PAGE_OFFSET, UL)
+ #ifdef CONFIG_X86_PAE
+-#define __PHYSICAL_MASK_SHIFT 36
++/* 44=32+12, the limit we can fit into an unsigned long pfn */
++#define __PHYSICAL_MASK_SHIFT 44
+ #define __VIRTUAL_MASK_SHIFT  32
+ #define PAGETABLE_LEVELS      3
+
+-- 
+
+From gregkh@mini.kroah.org Sun Jun 22 11:55:24 2008
+Message-Id: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:27 -0700
+From: Greg KH <gregkh@suse.de>
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk
+Subject: [patch 0/5] 2.6.25-stable review
+Status: RO
+Content-Length: 1284
+Lines: 32
+
+This is the start of the stable review cycle for the 2.6.25.9 release.
+There are 5 patches in this series, all will be posted as a response to
+this one.  If anyone has any issues with these being applied, please let
+us know.  If anyone is a maintainer of the proper subsystem, and wants
+to add a Signed-off-by: line to the patch, please respond with it.
+
+These patches are sent out with a number of different people on the Cc:
+line.  If you wish to be a reviewer, please email stable@kernel.org to
+add your name to the list.  If you want to be off the reviewer list,
+also email us.
+
+Responses should be made by Tuesday, June 24, 18:00:00 UTC.  Anything
+received after that time might be too late.
+
+The whole patch series can be found in one patch at:
+       kernel.org/pub/linux/kernel/v2.6/stable-review/patch-2.6.25.9-rc1.gz
+and the diffstat can be found below.
+
+
+thanks,
+
+the -stable release team
+
+ Makefile                   |    2 +-
+ arch/powerpc/kernel/vdso.c |    2 +-
+ arch/x86/kernel/setup_32.c |   10 ++++++++--
+ drivers/net/atl1/atl1_hw.c |    1 -
+ include/asm-x86/page_32.h  |    3 ++-
+ mm/memory.c                |   17 +++++++++++++----
+ mm/migrate.c               |   10 ++++++++++
+ net/sctp/socket.c          |    4 +++-
+ 8 files changed, 38 insertions(+), 11 deletions(-)
+
+From gregkh@mini.kroah.org Sun Jun 22 11:55:24 2008
+Message-Id: <20080622185524.713692927@mini.kroah.org>
+References: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:31 -0700
+From: Greg KH <gregkh@suse.de>
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk,
+ Bernhard Walle <bwalle@suse.de>,
+ Ingo Molnar <mingo@elte.hu>
+Subject: [patch 4/5] x86: use BOOTMEM_EXCLUSIVE on 32-bit
+Content-Disposition: inline; filename=x86-use-bootmem_exclusive-on-32-bit.patch
+Status: RO
+Content-Length: 1426
+Lines: 45
+
+2.6.25-stable review patch.  If anyone has any objections, please let us
+know.
+
+------------------
+From: Bernhard Walle <bwalle@suse.de>
+
+commit d3942cff620bea073fc4e3c8ed878eb1e84615ce upstream
+
+This patch uses the BOOTMEM_EXCLUSIVE for crashkernel reservation also for
+i386 and prints a error message on failure.
+
+The patch is still for 2.6.26 since it is only bug fixing. The unification
+of reserve_crashkernel() between i386 and x86_64 should be done for 2.6.27.
+
+Signed-off-by: Bernhard Walle <bwalle@suse.de>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/x86/kernel/setup_32.c |   10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/kernel/setup_32.c
++++ b/arch/x86/kernel/setup_32.c
+@@ -483,10 +483,16 @@ static void __init reserve_crashkernel(v
+                                       (unsigned long)(crash_size >> 20),
+                                       (unsigned long)(crash_base >> 20),
+                                       (unsigned long)(total_mem >> 20));
++
++                      if (reserve_bootmem(crash_base, crash_size,
++                                      BOOTMEM_EXCLUSIVE) < 0) {
++                              printk(KERN_INFO "crashkernel reservation "
++                                      "failed - memory is in use\n");
++                              return;
++                      }
++
+                       crashk_res.start = crash_base;
+                       crashk_res.end   = crash_base + crash_size - 1;
+-                      reserve_bootmem(crash_base, crash_size,
+-                                      BOOTMEM_DEFAULT);
+               } else
+                       printk(KERN_INFO "crashkernel reservation failed - "
+                                       "you have to specify a base address\n");
+
+-- 
+
+From gregkh@mini.kroah.org Sun Jun 22 11:55:24 2008
+Message-Id: <20080622185524.531798999@mini.kroah.org>
+References: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:30 -0700
+From: Greg KH <gregkh@suse.de>
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk,
+ "David S. Miller" <davem@davemloft.net>
+Subject: [patch 3/5] sctp: Make sure N * sizeof(union sctp_addr) does not overflow.
+Content-Disposition: inline; filename=sctp-make-sure-n-sizeof-does-not-overflow.patch
+Status: RO
+Content-Length: 1067
+Lines: 36
+
+2.6.25-stable review patch.  If anyone has any objections, please let us
+know.
+
+------------------
+From: David S. Miller <davem@davemloft.net>
+
+commit 735ce972fbc8a65fb17788debd7bbe7b4383cc62 upstream
+
+As noticed by Gabriel Campana, the kmalloc() length arg
+passed in by sctp_getsockopt_local_addrs_old() can overflow
+if ->addr_num is large enough.
+
+Therefore, enforce an appropriate limit.
+
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/sctp/socket.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/net/sctp/socket.c
++++ b/net/sctp/socket.c
+@@ -4421,7 +4421,9 @@ static int sctp_getsockopt_local_addrs_o
+       if (copy_from_user(&getaddrs, optval, len))
+               return -EFAULT;
+-      if (getaddrs.addr_num <= 0) return -EINVAL;
++      if (getaddrs.addr_num <= 0 ||
++          getaddrs.addr_num >= (INT_MAX / sizeof(union sctp_addr)))
++              return -EINVAL;
+       /*
+        *  For UDP-style sockets, id specifies the association to query.
+        *  If the id field is set to the value '0' then the locally bound
+
+-- 
+
+From gregkh@mini.kroah.org Sun Jun 22 11:55:24 2008
+Message-Id: <20080622185524.364807384@mini.kroah.org>
+References: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:29 -0700
+From: Greg KH <gregkh@suse.de>
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk,
+ Oleg Nesterov <oleg@tv-sign.ru>,
+ Nick Piggin <npiggin@suse.de>,
+ KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
+ Hugh Dickins <hugh@veritas.com>,
+ Ingo Molnar <mingo@elte.hu>,
+ Roland McGrath <roland@redhat.com>
+Subject: [patch 2/5] Reinstate ZERO_PAGE optimization in get_user_pages() and fix XIP
+Content-Disposition: inline; filename=reinstate-zero_page-optimization-in-get_user_pages-and-fix-xip.patch
+Status: RO
+Content-Length: 4313
+Lines: 140
+
+2.6.25-stable review patch.  If anyone has any objections, please let us
+know.
+
+------------------
+From: Linus Torvalds <torvalds@linux-foundation.org>
+
+commit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f upstream
+
+KAMEZAWA Hiroyuki and Oleg Nesterov point out that since the commit
+557ed1fa2620dc119adb86b34c614e152a629a80 ("remove ZERO_PAGE") removed
+the ZERO_PAGE from the VM mappings, any users of get_user_pages() will
+generally now populate the VM with real empty pages needlessly.
+
+We used to get the ZERO_PAGE when we did the "handle_mm_fault()", but
+since fault handling no longer uses ZERO_PAGE for new anonymous pages,
+we now need to handle that special case in follow_page() instead.
+
+In particular, the removal of ZERO_PAGE effectively removed the core
+file writing optimization where we would skip writing pages that had not
+been populated at all, and increased memory pressure a lot by allocating
+all those useless newly zeroed pages.
+
+This reinstates the optimization by making the unmapped PTE case the
+same as for a non-existent page table, which already did this correctly.
+
+While at it, this also fixes the XIP case for follow_page(), where the
+caller could not differentiate between the case of a page that simply
+could not be used (because it had no "struct page" associated with it)
+and a page that just wasn't mapped.
+
+We do that by simply returning an error pointer for pages that could not
+be turned into a "struct page *".  The error is arbitrarily picked to be
+EFAULT, since that was what get_user_pages() already used for the
+equivalent IO-mapped page case.
+
+[ Also removed an impossible test for pte_offset_map_lock() failing:
+  that's not how that function works ]
+
+Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
+Acked-by: Nick Piggin <npiggin@suse.de>
+Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
+Cc: Hugh Dickins <hugh@veritas.com>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Cc: Ingo Molnar <mingo@elte.hu>
+Cc: Roland McGrath <roland@redhat.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/powerpc/kernel/vdso.c |    2 +-
+ mm/memory.c                |   17 +++++++++++++----
+ mm/migrate.c               |   10 ++++++++++
+ 3 files changed, 24 insertions(+), 5 deletions(-)
+
+--- a/arch/powerpc/kernel/vdso.c
++++ b/arch/powerpc/kernel/vdso.c
+@@ -141,7 +141,7 @@ static void dump_one_vdso_page(struct pa
+       printk("kpg: %p (c:%d,f:%08lx)", __va(page_to_pfn(pg) << PAGE_SHIFT),
+              page_count(pg),
+              pg->flags);
+-      if (upg/* && pg != upg*/) {
++      if (upg && !IS_ERR(upg) /* && pg != upg*/) {
+               printk(" upg: %p (c:%d,f:%08lx)", __va(page_to_pfn(upg)
+                                                      << PAGE_SHIFT),
+                      page_count(upg),
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -943,17 +943,15 @@ struct page *follow_page(struct vm_area_
+       }
+       ptep = pte_offset_map_lock(mm, pmd, address, &ptl);
+-      if (!ptep)
+-              goto out;
+       pte = *ptep;
+       if (!pte_present(pte))
+-              goto unlock;
++              goto no_page;
+       if ((flags & FOLL_WRITE) && !pte_write(pte))
+               goto unlock;
+       page = vm_normal_page(vma, address, pte);
+       if (unlikely(!page))
+-              goto unlock;
++              goto bad_page;
+       if (flags & FOLL_GET)
+               get_page(page);
+@@ -968,6 +966,15 @@ unlock:
+ out:
+       return page;
++bad_page:
++      pte_unmap_unlock(ptep, ptl);
++      return ERR_PTR(-EFAULT);
++
++no_page:
++      pte_unmap_unlock(ptep, ptl);
++      if (!pte_none(pte))
++              return page;
++      /* Fall through to ZERO_PAGE handling */
+ no_page_table:
+       /*
+        * When core dumping an enormous anonymous area that nobody
+@@ -1104,6 +1111,8 @@ int get_user_pages(struct task_struct *t
+                               cond_resched();
+                       }
++                      if (IS_ERR(page))
++                              return i ? i : PTR_ERR(page);
+                       if (pages) {
+                               pages[i] = page;
+--- a/mm/migrate.c
++++ b/mm/migrate.c
+@@ -858,6 +858,11 @@ static int do_move_pages(struct mm_struc
+                       goto set_status;
+               page = follow_page(vma, pp->addr, FOLL_GET);
++
++              err = PTR_ERR(page);
++              if (IS_ERR(page))
++                      goto set_status;
++
+               err = -ENOENT;
+               if (!page)
+                       goto set_status;
+@@ -921,6 +926,11 @@ static int do_pages_stat(struct mm_struc
+                       goto set_status;
+               page = follow_page(vma, pm->addr, 0);
++
++              err = PTR_ERR(page);
++              if (IS_ERR(page))
++                      goto set_status;
++
+               err = -ENOENT;
+               /* Use PageReserved to check for zero page */
+               if (!page || PageReserved(page))
+
+-- 
+
+From gregkh@mini.kroah.org Sun Jun 22 11:55:24 2008
+Message-Id: <20080622185524.186713240@mini.kroah.org>
+References: <20080622185327.348377223@mini.kroah.org>
+User-Agent: quilt/0.46-1
+Date: Sun, 22 Jun 2008 11:53:28 -0700
+From: Greg KH <gregkh@suse.de>
+To: linux-kernel@vger.kernel.org, stable@kernel.org
+Cc: Justin Forbes <jmforbes@linuxtx.org>,
+ Zwane Mwaikambo <zwane@arm.linux.org.uk>,
+ Theodore Ts'o <tytso@mit.edu>,
+ Randy Dunlap <rdunlap@xenotime.net>,
+ Dave Jones <davej@redhat.com>,
+ Chuck Wolber <chuckw@quantumlinux.com>,
+ Chris Wedgwood <reviews@ml.cw.f00f.org>,
+ Michael Krufky <mkrufky@linuxtv.org>,
+ Chuck Ebbert <cebbert@redhat.com>,
+ Domenico Andreoli <cavokz@gmail.com>,
+ Willy Tarreau <w@1wt.eu>,
+ Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
+ torvalds@linux-foundation.org,
+ akpm@linux-foundation.org,
+ alan@lxorguk.ukuu.org.uk,
+ csnook@redhat.com,
+ advantis@gmx.net,
+ jgarzik@redhat.com,
+ Jay Cliburn <jacliburn@bellsouth.net>
+Subject: [patch 1/5] atl1: relax eeprom mac address error check
+Content-Disposition: inline; filename=atl1-relax-eeprom-mac-address-error-check.patch
+Status: RO
+Content-Length: 1704
+Lines: 54
+
+2.6.25-stable review patch.  If anyone has any objections, please let us know.
+
+------------------
+
+From: Radu Cristescu <advantis@gmx.net>
+
+upstream commit: 58c7821c4264a7ddd6f0c31c5caaf393b3897f10
+
+The atl1 driver tries to determine the MAC address thusly:
+
+       - If an EEPROM exists, read the MAC address from EEPROM and
+         validate it.
+       - If an EEPROM doesn't exist, try to read a MAC address from
+         SPI flash.
+       - If that fails, try to read a MAC address directly from the
+         MAC Station Address register.
+       - If that fails, assign a random MAC address provided by the
+         kernel.
+
+We now have a report of a system fitted with an EEPROM containing all
+zeros where we expect the MAC address to be, and we currently handle
+this as an error condition.  Turns out, on this system the BIOS writes
+a valid MAC address to the NIC's MAC Station Address register, but we
+never try to read it because we return an error when we find the all-
+zeros address in EEPROM.
+
+This patch relaxes the error check and continues looking for a MAC
+address even if it finds an illegal one in EEPROM.
+
+http://ubuntuforums.org/showthread.php?t=562617
+
+[jacliburn@bellsouth.net: backport to 2.6.25.7]
+
+Signed-off-by: Radu Cristescu <advantis@gmx.net>
+Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/atl1/atl1_hw.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/net/atl1/atl1_hw.c
++++ b/drivers/net/atl1/atl1_hw.c
+@@ -250,7 +250,6 @@ static int atl1_get_permanent_address(st
+                       memcpy(hw->perm_mac_addr, eth_addr, ETH_ALEN);
+                       return 0;
+               }
+-              return 1;
+       }
+       /* see if SPI FLAGS exist ? */
+
+-- 
+
similarity index 100%
rename from queue-2.6.25/series
rename to review-2.6.25/series