public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 00/10] 2.6.28.9-rc2 review
@ 2008-06-23 23:04 ` Greg KH
  2008-06-23 23:04   ` [patch 08/10] hwmon: (lm85) Fix function RANGE_TO_REG() Greg KH
                     ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan

As -rc1 had a number of issues, here's the set of patches for -rc2.

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-rc2.gz
and the diffstat can be found below.


thanks,

greg k-h

 Makefile                   |    2 
 arch/powerpc/kernel/vdso.c |    2 
 arch/x86/kernel/setup_32.c |   10 ++
 drivers/hwmon/adt7473.c    |    3 
 drivers/hwmon/lm85.c       |    2 
 drivers/net/atl1/atl1_hw.c |    1 
 drivers/watchdog/hpwdt.c   |  154 +++++++++++++++++++++++----------------------
 include/asm-x86/page_32.h  |    3 
 include/linux/bootmem.h    |    2 
 mm/bootmem.c               |    4 -
 mm/memory.c                |   41 +++++++++--
 mm/migrate.c               |   10 ++
 net/sctp/socket.c          |    4 -
 13 files changed, 145 insertions(+), 93 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 08/10] hwmon: (lm85) Fix function RANGE_TO_REG()
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
@ 2008-06-23 23:04   ` Greg KH
  2008-06-23 23:04   ` [patch 09/10] hwmon: (adt7473) Initialize max_duty_at_overheat before use Greg KH
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Mark M. Hoffman,
	Jean Delvare

[-- Attachment #1: hwmon-fix-function-range_to_reg.patch --]
[-- Type: text/plain, Size: 1163 bytes --]

2.6.25.9-stable review patch.  If anyone has any objections, please let
us know.

------------------ 
From: Jean Delvare <khali@linux-fr.org>

Function RANGE_TO_REG() is broken. For a requested range of 2000 (2
degrees C), it will return an index value of 15, i.e. 80.0 degrees C,
instead of the expected index value of 0. All other values are handled
properly, just 2000 isn't.

The bug was introduced back in November 2004 by this patch:
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=1c28d80f1992240373099d863e4996cdd5d646d0

In Linus' kernel I decided to rewrite the whole function in a way
which was more obviously correct. But for -stable let's just do the
minimal fix.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/hwmon/lm85.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/hwmon/lm85.c
+++ b/drivers/hwmon/lm85.c
@@ -192,7 +192,7 @@ static int RANGE_TO_REG( int range )
 {
 	int i;
 
-	if ( range < lm85_range_map[0] ) { 
+	if (range <= lm85_range_map[0]) {
 		return 0 ;
 	} else if ( range > lm85_range_map[15] ) {
 		return 15 ;

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 09/10] hwmon: (adt7473) Initialize max_duty_at_overheat before use
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
  2008-06-23 23:04   ` [patch 08/10] hwmon: (lm85) Fix function RANGE_TO_REG() Greg KH
@ 2008-06-23 23:04   ` Greg KH
  2008-06-23 23:04   ` [patch 10/10] Fix ZERO_PAGE breakage with vmware Greg KH
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Mark M. Hoffman,
	Darrick J. Wong, Jean Delvare

[-- Attachment #1: patch-hwmon-initialize-max_duty_at_overheat-before-use.patch --]
[-- Type: text/plain, Size: 1012 bytes --]

2.6.25.9-stable review patch.  If anyone has any objections, please let
us know.

------------------ 
From: Jean Delvare <khali@linux-fr.org>

commit ed4ec814e45ae8b1596aea0a29b92f6c3614acaa upstream

data->max_duty_at_overheat is not updated in adt7473_update_device,
so it might be used before it is initialized (if the user reads from
sysfs file max_duty_at_crit before writing to it.)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


---
 drivers/hwmon/adt7473.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/hwmon/adt7473.c
+++ b/drivers/hwmon/adt7473.c
@@ -309,6 +309,9 @@ no_sensor_update:
 						ADT7473_REG_PWM_BHVR(i));
 	}
 
+	i = i2c_smbus_read_byte_data(client, ADT7473_REG_CFG4);
+	data->max_duty_at_overheat = !!(i & ADT7473_CFG4_MAX_DUTY_AT_OVT);
+
 	data->limits_last_updated = local_jiffies;
 	data->limits_valid = 1;
 

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 10/10] Fix ZERO_PAGE breakage with vmware
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
  2008-06-23 23:04   ` [patch 08/10] hwmon: (lm85) Fix function RANGE_TO_REG() Greg KH
  2008-06-23 23:04   ` [patch 09/10] hwmon: (adt7473) Initialize max_duty_at_overheat before use Greg KH
@ 2008-06-23 23:04   ` Greg KH
  2008-06-23 23:28     ` Linus Torvalds
  2008-06-23 23:04   ` [patch 05/10] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits Greg KH
                     ` (7 subsequent siblings)
  10 siblings, 1 reply; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan

[-- Attachment #1: fix-zero_page-breakage-with-vmware.patch --]
[-- Type: text/plain, Size: 2689 bytes --]


2.6.25.9-stable review patch.  If anyone has any objections, please let
us know.

Note, I had to merge this patch by hand, can someone verify that I 
didn't mess it up?

------------------ 

From: Linus Torvalds <torvalds@linux-foundation.org>

commit 672ca28e300c17bf8d792a2a7a8631193e580c74 upstream

Commit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f ("Reinstate ZERO_PAGE
optimization in 'get_user_pages()' and fix XIP") broke vmware, as
reported by Jeff Chua:

  "This broke vmware 6.0.4.
   Jun 22 14:53:03.845: vmx| NOT_IMPLEMENTED
   /build/mts/release/bora-93057/bora/vmx/main/vmmonPosix.c:774"

and the reason seems to be that there's an old bug in how we handle do
FOLL_ANON on VM_SHARED areas in get_user_pages(), but since it only
triggered if the whole page table was missing, nobody had apparently hit
it before.

The recent changes to 'follow_page()' made the FOLL_ANON logic trigger
not just for whole missing page tables, but for individual pages as
well, and exposed this problem.

This fixes it by making the test for when FOLL_ANON is used more
careful, and also makes the code easier to read and understand by moving
the logic to a separate inline function.

Reported-and-tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 mm/memory.c |   24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

--- a/mm/memory.c
+++ b/mm/memory.c
@@ -989,6 +989,26 @@ no_page_table:
 	return page;
 }
 
+/* Can we do the FOLL_ANON optimization? */
+static inline int use_zero_page(struct vm_area_struct *vma)
+{
+	/*
+	 * We don't want to optimize FOLL_ANON for make_pages_present()
+	 * when it tries to page in a VM_LOCKED region. As to VM_SHARED,
+	 * we want to get the page from the page tables to make sure
+	 * that we serialize and update with any other user of that
+	 * mapping.
+	 */
+	if (vma->vm_flags & (VM_LOCKED | VM_SHARED))
+		return 0;
+	/*
+	 * And if we have a fault or a nopfn routine, it's not an
+	 * anonymous region.
+	 */
+	return !vma->vm_ops ||
+		(!vma->vm_ops->fault && !vma->vm_ops->nopfn);
+}
+
 int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
 		unsigned long start, int len, int write, int force,
 		struct page **pages, struct vm_area_struct **vmas)
@@ -1063,9 +1083,7 @@ int get_user_pages(struct task_struct *t
 		foll_flags = FOLL_TOUCH;
 		if (pages)
 			foll_flags |= FOLL_GET;
-		if (!write && !(vma->vm_flags & VM_LOCKED) &&
-		    (!vma->vm_ops || (!vma->vm_ops->nopage &&
-					!vma->vm_ops->fault)))
+		if (!write && use_zero_page(vma))
 			foll_flags |= FOLL_ANON;
 
 		do {

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 05/10] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (2 preceding siblings ...)
  2008-06-23 23:04   ` [patch 10/10] Fix ZERO_PAGE breakage with vmware Greg KH
@ 2008-06-23 23:04   ` Greg KH
  2008-06-23 23:04   ` [patch 06/10] Add return value to reserve_bootmem_node() Greg KH
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable, jejb
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Jeremy Fitzhardinge,
	Jan Beulich, Ingo Molnar

[-- Attachment #1: x86-set-pae-physical_mask_shift-to-44-bits.patch --]
[-- Type: text/plain, Size: 1697 bytes --]

2.6.25.9-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
 

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 06/10] Add return value to reserve_bootmem_node()
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (3 preceding siblings ...)
  2008-06-23 23:04   ` [patch 05/10] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits Greg KH
@ 2008-06-23 23:04   ` Greg KH
  2008-06-24 11:06     ` Adrian Bunk
  2008-06-23 23:05   ` [patch 07/10] watchdog: hpwdt: fix use of inline assembly Greg KH
                     ` (5 subsequent siblings)
  10 siblings, 1 reply; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:04 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Bernhard Walle

[-- Attachment #1: add-return-value-to-reserve_bootmem_node.patch --]
[-- Type: text/plain, Size: 1708 bytes --]

2.6.25.9-stable review patch.  If anyone has any objections, please let
us know.

------------------ 
From: Bernhard Walle <bwalle@suse.de>

commit 71c2742f5e6348d76ee62085cf0a13e5eff0f00e upstream

This patch changes the function reserve_bootmem_node() from void to int,
returning -ENOMEM if the allocation fails.

This fixes a build problem on x86 with CONFIG_KEXEC=y and
CONFIG_NEED_MULTIPLE_NODES=y

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 include/linux/bootmem.h |    2 +-
 mm/bootmem.c            |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

--- a/include/linux/bootmem.h
+++ b/include/linux/bootmem.h
@@ -94,7 +94,7 @@ extern unsigned long init_bootmem_node(p
 				       unsigned long freepfn,
 				       unsigned long startpfn,
 				       unsigned long endpfn);
-extern void reserve_bootmem_node(pg_data_t *pgdat,
+extern int reserve_bootmem_node(pg_data_t *pgdat,
 				 unsigned long physaddr,
 				 unsigned long size,
 				 int flags);
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -398,10 +398,10 @@ unsigned long __init init_bootmem_node(p
 	return init_bootmem_core(pgdat, freepfn, startpfn, endpfn);
 }
 
-void __init reserve_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,
+int __init reserve_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,
 				 unsigned long size, int flags)
 {
-	reserve_bootmem_core(pgdat->bdata, physaddr, size, flags);
+	return reserve_bootmem_core(pgdat->bdata, physaddr, size, flags);
 }
 
 void __init free_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 07/10] watchdog: hpwdt: fix use of inline assembly
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (4 preceding siblings ...)
  2008-06-23 23:04   ` [patch 06/10] Add return value to reserve_bootmem_node() Greg KH
@ 2008-06-23 23:05   ` Greg KH
  2008-06-23 23:05   ` [patch 01/10] atl1: relax eeprom mac address error check Greg KH
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:05 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Thomas Mingarelli

[-- Attachment #1: watchdog-hpwdt-fix-use-of-inline-assembly.patch --]
[-- Type: text/plain, Size: 8115 bytes --]

2.6.25.9-stable review patch.  If anyone has any objections, please let
us know.

------------------ 
From: Linus Torvalds <torvalds@linux-foundation.org>

commit 1f6ef2342972dc7fd623f360f84006e2304eb935 upstream

The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken,
and included all the function prologue and epilogue stuff, even though
it was itself then inside a C function where the compiler would add its
own prologue and epilogue on top of it all.

This then just _happened_ to work if you had exactly the right compiler
version and exactly the right compiler flags, so that gcc just happened
to not create any prologue at all (the gcc-generated epilogue wouldn't
matter, since it would never be reached).

But the more proper way to fix it is to simply not do this.  Move the
inline asm to the top level, with no surrounding function at all (the
better alternative would be to remove the prologue and make it actually
use proper description of the arguments to the inline asm, but that's a
bigger change than the one I'm willing to make right now).

Tested-by: S.Çağlar Onur <caglar@pardus.org.tr>
Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/watchdog/hpwdt.c |  154 ++++++++++++++++++++++++-----------------------
 1 file changed, 79 insertions(+), 75 deletions(-)

--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -140,49 +140,52 @@ static struct pci_device_id hpwdt_device
 };
 MODULE_DEVICE_TABLE(pci, hpwdt_devices);
 
+extern asmlinkage void asminline_call(struct cmn_registers *pi86Regs, unsigned long *pRomEntry);
+
 #ifndef CONFIG_X86_64
 /* --32 Bit Bios------------------------------------------------------------ */
 
 #define HPWDT_ARCH	32
 
-static void asminline_call(struct cmn_registers *pi86Regs,
-			   unsigned long *pRomEntry)
-{
-	asm("pushl       %ebp               \n\t"
-	    "movl        %esp, %ebp         \n\t"
-	    "pusha                          \n\t"
-	    "pushf                          \n\t"
-	    "push        %es                \n\t"
-	    "push        %ds                \n\t"
-	    "pop         %es                \n\t"
-	    "movl        8(%ebp),%eax       \n\t"
-	    "movl        4(%eax),%ebx       \n\t"
-	    "movl        8(%eax),%ecx       \n\t"
-	    "movl        12(%eax),%edx      \n\t"
-	    "movl        16(%eax),%esi      \n\t"
-	    "movl        20(%eax),%edi      \n\t"
-	    "movl        (%eax),%eax        \n\t"
-	    "push        %cs                \n\t"
-	    "call        *12(%ebp)          \n\t"
-	    "pushf                          \n\t"
-	    "pushl       %eax               \n\t"
-	    "movl        8(%ebp),%eax       \n\t"
-	    "movl        %ebx,4(%eax)       \n\t"
-	    "movl        %ecx,8(%eax)       \n\t"
-	    "movl        %edx,12(%eax)      \n\t"
-	    "movl        %esi,16(%eax)      \n\t"
-	    "movl        %edi,20(%eax)      \n\t"
-	    "movw        %ds,24(%eax)       \n\t"
-	    "movw        %es,26(%eax)       \n\t"
-	    "popl        %ebx               \n\t"
-	    "movl        %ebx,(%eax)        \n\t"
-	    "popl        %ebx               \n\t"
-	    "movl        %ebx,28(%eax)      \n\t"
-	    "pop         %es                \n\t"
-	    "popf                           \n\t"
-	    "popa                           \n\t"
-	    "leave                          \n\t" "ret");
-}
+asm(".text                          \n\t"
+    ".align 4                       \n"
+    "asminline_call:                \n\t"
+    "pushl       %ebp               \n\t"
+    "movl        %esp, %ebp         \n\t"
+    "pusha                          \n\t"
+    "pushf                          \n\t"
+    "push        %es                \n\t"
+    "push        %ds                \n\t"
+    "pop         %es                \n\t"
+    "movl        8(%ebp),%eax       \n\t"
+    "movl        4(%eax),%ebx       \n\t"
+    "movl        8(%eax),%ecx       \n\t"
+    "movl        12(%eax),%edx      \n\t"
+    "movl        16(%eax),%esi      \n\t"
+    "movl        20(%eax),%edi      \n\t"
+    "movl        (%eax),%eax        \n\t"
+    "push        %cs                \n\t"
+    "call        *12(%ebp)          \n\t"
+    "pushf                          \n\t"
+    "pushl       %eax               \n\t"
+    "movl        8(%ebp),%eax       \n\t"
+    "movl        %ebx,4(%eax)       \n\t"
+    "movl        %ecx,8(%eax)       \n\t"
+    "movl        %edx,12(%eax)      \n\t"
+    "movl        %esi,16(%eax)      \n\t"
+    "movl        %edi,20(%eax)      \n\t"
+    "movw        %ds,24(%eax)       \n\t"
+    "movw        %es,26(%eax)       \n\t"
+    "popl        %ebx               \n\t"
+    "movl        %ebx,(%eax)        \n\t"
+    "popl        %ebx               \n\t"
+    "movl        %ebx,28(%eax)      \n\t"
+    "pop         %es                \n\t"
+    "popf                           \n\t"
+    "popa                           \n\t"
+    "leave                          \n\t"
+    "ret                            \n\t"
+    ".previous");
 
 /*
  *	cru_detect
@@ -333,43 +336,44 @@ static int __devinit detect_cru_service(
 
 #define HPWDT_ARCH	64
 
-static void asminline_call(struct cmn_registers *pi86Regs,
-			   unsigned long *pRomEntry)
-{
-	asm("pushq      %rbp            \n\t"
-	    "movq       %rsp, %rbp      \n\t"
-	    "pushq      %rax            \n\t"
-	    "pushq      %rbx            \n\t"
-	    "pushq      %rdx            \n\t"
-	    "pushq      %r12            \n\t"
-	    "pushq      %r9             \n\t"
-	    "movq       %rsi, %r12      \n\t"
-	    "movq       %rdi, %r9       \n\t"
-	    "movl       4(%r9),%ebx     \n\t"
-	    "movl       8(%r9),%ecx     \n\t"
-	    "movl       12(%r9),%edx    \n\t"
-	    "movl       16(%r9),%esi    \n\t"
-	    "movl       20(%r9),%edi    \n\t"
-	    "movl       (%r9),%eax      \n\t"
-	    "call       *%r12           \n\t"
-	    "pushfq                     \n\t"
-	    "popq        %r12           \n\t"
-	    "popfq                      \n\t"
-	    "movl       %eax, (%r9)     \n\t"
-	    "movl       %ebx, 4(%r9)    \n\t"
-	    "movl       %ecx, 8(%r9)    \n\t"
-	    "movl       %edx, 12(%r9)   \n\t"
-	    "movl       %esi, 16(%r9)   \n\t"
-	    "movl       %edi, 20(%r9)   \n\t"
-	    "movq       %r12, %rax      \n\t"
-	    "movl       %eax, 28(%r9)   \n\t"
-	    "popq       %r9             \n\t"
-	    "popq       %r12            \n\t"
-	    "popq       %rdx            \n\t"
-	    "popq       %rbx            \n\t"
-	    "popq       %rax            \n\t"
-	    "leave                      \n\t" "ret");
-}
+asm(".text                      \n\t"
+    ".align 4                   \n"
+    "asminline_call:            \n\t"
+    "pushq      %rbp            \n\t"
+    "movq       %rsp, %rbp      \n\t"
+    "pushq      %rax            \n\t"
+    "pushq      %rbx            \n\t"
+    "pushq      %rdx            \n\t"
+    "pushq      %r12            \n\t"
+    "pushq      %r9             \n\t"
+    "movq       %rsi, %r12      \n\t"
+    "movq       %rdi, %r9       \n\t"
+    "movl       4(%r9),%ebx     \n\t"
+    "movl       8(%r9),%ecx     \n\t"
+    "movl       12(%r9),%edx    \n\t"
+    "movl       16(%r9),%esi    \n\t"
+    "movl       20(%r9),%edi    \n\t"
+    "movl       (%r9),%eax      \n\t"
+    "call       *%r12           \n\t"
+    "pushfq                     \n\t"
+    "popq        %r12           \n\t"
+    "popfq                      \n\t"
+    "movl       %eax, (%r9)     \n\t"
+    "movl       %ebx, 4(%r9)    \n\t"
+    "movl       %ecx, 8(%r9)    \n\t"
+    "movl       %edx, 12(%r9)   \n\t"
+    "movl       %esi, 16(%r9)   \n\t"
+    "movl       %edi, 20(%r9)   \n\t"
+    "movq       %r12, %rax      \n\t"
+    "movl       %eax, 28(%r9)   \n\t"
+    "popq       %r9             \n\t"
+    "popq       %r12            \n\t"
+    "popq       %rdx            \n\t"
+    "popq       %rbx            \n\t"
+    "popq       %rax            \n\t"
+    "leave                      \n\t"
+    "ret                        \n\t"
+    ".previous");
 
 /*
  *	dmi_find_cru

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 01/10] atl1: relax eeprom mac address error check
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (5 preceding siblings ...)
  2008-06-23 23:05   ` [patch 07/10] watchdog: hpwdt: fix use of inline assembly Greg KH
@ 2008-06-23 23:05   ` Greg KH
  2008-06-23 23:05   ` [patch 02/10] Reinstate ZERO_PAGE optimization in get_user_pages() and fix XIP Greg KH
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:05 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, csnook, advantis,
	jgarzik, Jay Cliburn

[-- Attachment #1: atl1-relax-eeprom-mac-address-error-check.patch --]
[-- Type: text/plain, Size: 1707 bytes --]


2.6.25.9-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 ? */

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 02/10] Reinstate ZERO_PAGE optimization in get_user_pages() and fix XIP
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (6 preceding siblings ...)
  2008-06-23 23:05   ` [patch 01/10] atl1: relax eeprom mac address error check Greg KH
@ 2008-06-23 23:05   ` Greg KH
  2008-06-23 23:05   ` [patch 03/10] sctp: Make sure N * sizeof(union sctp_addr) does not overflow Greg KH
                     ` (2 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:05 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Oleg Nesterov,
	Nick Piggin, KAMEZAWA Hiroyuki, Hugh Dickins, Ingo Molnar,
	Roland McGrath

[-- Attachment #1: reinstate-zero_page-optimization-in-get_user_pages-and-fix-xip.patch --]
[-- Type: text/plain, Size: 4316 bytes --]

2.6.25.9-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))

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 03/10] sctp: Make sure N * sizeof(union sctp_addr) does not overflow.
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (7 preceding siblings ...)
  2008-06-23 23:05   ` [patch 02/10] Reinstate ZERO_PAGE optimization in get_user_pages() and fix XIP Greg KH
@ 2008-06-23 23:05   ` Greg KH
  2008-06-23 23:05   ` [patch 04/10] x86: use BOOTMEM_EXCLUSIVE on 32-bit Greg KH
  2008-06-23 23:22   ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:05 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, David S. Miller

[-- Attachment #1: sctp-make-sure-n-sizeof-does-not-overflow.patch --]
[-- Type: text/plain, Size: 1070 bytes --]

2.6.25.9-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

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [patch 04/10] x86: use BOOTMEM_EXCLUSIVE on 32-bit
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (8 preceding siblings ...)
  2008-06-23 23:05   ` [patch 03/10] sctp: Make sure N * sizeof(union sctp_addr) does not overflow Greg KH
@ 2008-06-23 23:05   ` Greg KH
  2008-06-23 23:22   ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:05 UTC (permalink / raw)
  To: linux-kernel, stable, jejb
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan, Bernhard Walle,
	Ingo Molnar

[-- Attachment #1: x86-use-bootmem_exclusive-on-32-bit.patch --]
[-- Type: text/plain, Size: 1429 bytes --]

2.6.25.9-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");

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [patch 00/10] 2.6.28.9-rc2 review
  2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
                     ` (9 preceding siblings ...)
  2008-06-23 23:05   ` [patch 04/10] x86: use BOOTMEM_EXCLUSIVE on 32-bit Greg KH
@ 2008-06-23 23:22   ` Greg KH
  10 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-23 23:22 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
	Dave Jones, Chuck Wolber, Chris Wedgwood, Michael Krufky,
	Chuck Ebbert, Domenico Andreoli, Willy Tarreau,
	Rodrigo Rubira Branco, torvalds, akpm, alan


That should read "2.6.25.9-rc2 review", sorry about that.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [patch 10/10] Fix ZERO_PAGE breakage with vmware
  2008-06-23 23:04   ` [patch 10/10] Fix ZERO_PAGE breakage with vmware Greg KH
@ 2008-06-23 23:28     ` Linus Torvalds
  2008-06-24  6:04       ` Greg KH
  0 siblings, 1 reply; 16+ messages in thread
From: Linus Torvalds @ 2008-06-23 23:28 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, stable, Justin Forbes, Zwane Mwaikambo,
	Theodore Ts'o, Randy Dunlap, Dave Jones, Chuck Wolber,
	Chris Wedgwood, Michael Krufky, Chuck Ebbert, Domenico Andreoli,
	Willy Tarreau, Rodrigo Rubira Branco, akpm, alan



On Mon, 23 Jun 2008, Greg KH wrote:
> 
> Note, I had to merge this patch by hand, can someone verify that I 
> didn't mess it up?

Looks ok to me.

		Linus

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [patch 10/10] Fix ZERO_PAGE breakage with vmware
  2008-06-23 23:28     ` Linus Torvalds
@ 2008-06-24  6:04       ` Greg KH
  0 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-24  6:04 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, stable, Justin Forbes, Zwane Mwaikambo,
	Theodore Ts'o, Randy Dunlap, Dave Jones, Chuck Wolber,
	Chris Wedgwood, Michael Krufky, Chuck Ebbert, Domenico Andreoli,
	Willy Tarreau, Rodrigo Rubira Branco, akpm, alan

On Mon, Jun 23, 2008 at 04:28:24PM -0700, Linus Torvalds wrote:
> 
> 
> On Mon, 23 Jun 2008, Greg KH wrote:
> > 
> > Note, I had to merge this patch by hand, can someone verify that I 
> > didn't mess it up?
> 
> Looks ok to me.

Ah, great, thanks for checking.

greg k-h

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [patch 06/10] Add return value to reserve_bootmem_node()
  2008-06-23 23:04   ` [patch 06/10] Add return value to reserve_bootmem_node() Greg KH
@ 2008-06-24 11:06     ` Adrian Bunk
  2008-06-24 21:07       ` Greg KH
  0 siblings, 1 reply; 16+ messages in thread
From: Adrian Bunk @ 2008-06-24 11:06 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, stable, Justin Forbes, Zwane Mwaikambo,
	Theodore Ts'o, Randy Dunlap, Dave Jones, Chuck Wolber,
	Chris Wedgwood, Michael Krufky, Chuck Ebbert, Domenico Andreoli,
	Willy Tarreau, Rodrigo Rubira Branco, torvalds, akpm, alan,
	Bernhard Walle

Hi Greg,

can you put this patch in front of patch 4
(x86: use BOOTMEM_EXCLUSIVE on 32-bit) in the
series file for working bisecting of 2.6.25.y ?

TIA
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [patch 06/10] Add return value to reserve_bootmem_node()
  2008-06-24 11:06     ` Adrian Bunk
@ 2008-06-24 21:07       ` Greg KH
  0 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2008-06-24 21:07 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: linux-kernel, stable, Justin Forbes, Zwane Mwaikambo,
	Theodore Ts'o, Randy Dunlap, Dave Jones, Chuck Wolber,
	Chris Wedgwood, Michael Krufky, Chuck Ebbert, Domenico Andreoli,
	Willy Tarreau, Rodrigo Rubira Branco, torvalds, akpm, alan,
	Bernhard Walle

On Tue, Jun 24, 2008 at 02:06:01PM +0300, Adrian Bunk wrote:
> Hi Greg,
> 
> can you put this patch in front of patch 4
> (x86: use BOOTMEM_EXCLUSIVE on 32-bit) in the
> series file for working bisecting of 2.6.25.y ?

Thanks for noticing, I've now done that.

greg k-h

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2008-06-24 21:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20080623225737.837265824@mini.kroah.org>
2008-06-23 23:04 ` [patch 00/10] 2.6.28.9-rc2 review Greg KH
2008-06-23 23:04   ` [patch 08/10] hwmon: (lm85) Fix function RANGE_TO_REG() Greg KH
2008-06-23 23:04   ` [patch 09/10] hwmon: (adt7473) Initialize max_duty_at_overheat before use Greg KH
2008-06-23 23:04   ` [patch 10/10] Fix ZERO_PAGE breakage with vmware Greg KH
2008-06-23 23:28     ` Linus Torvalds
2008-06-24  6:04       ` Greg KH
2008-06-23 23:04   ` [patch 05/10] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits Greg KH
2008-06-23 23:04   ` [patch 06/10] Add return value to reserve_bootmem_node() Greg KH
2008-06-24 11:06     ` Adrian Bunk
2008-06-24 21:07       ` Greg KH
2008-06-23 23:05   ` [patch 07/10] watchdog: hpwdt: fix use of inline assembly Greg KH
2008-06-23 23:05   ` [patch 01/10] atl1: relax eeprom mac address error check Greg KH
2008-06-23 23:05   ` [patch 02/10] Reinstate ZERO_PAGE optimization in get_user_pages() and fix XIP Greg KH
2008-06-23 23:05   ` [patch 03/10] sctp: Make sure N * sizeof(union sctp_addr) does not overflow Greg KH
2008-06-23 23:05   ` [patch 04/10] x86: use BOOTMEM_EXCLUSIVE on 32-bit Greg KH
2008-06-23 23:22   ` [patch 00/10] 2.6.28.9-rc2 review Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox