Skip to contentSkip to conversation

fix variable use in AVR32 pte_alloc_one

PATCH In review Ben Nizette 3 participants 5 messages Jan 23, 2008 – Jan 24, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix variable use in AVR32 pte_alloc_one

Some parts of this function use 'page', some 'pte'. As such, an AVR32 -mm build fails with an undefined reference to 'page'.

---

include/asm-avr32/pgalloc.h +2 -2
Index: linux-2.6.24-rc8-mm1/include/asm-avr32/pgalloc.h
===================================================================
@@ -52,9 +52,9 @@ static inline struct page *pte_alloc_one
 	struct page *pte;
 
 	pte = alloc_page(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO);
-	if (!page)
+	if (!pte)
 		return NULL;
-	pgtable_page_ctor(page);
+	pgtable_page_ctor(pte);
 	return pte;
 }
 
#1 lore raw
Quoted 12 lines · On Wed, 23 Jan 2008 22:57:34 +1100 Ben Nizette <[email protected]> wrote:

Some parts of this function use 'page', some 'pte'. As such, an AVR32 -mm build fails with an undefined reference to 'page'.

---
Index: linux-2.6.24-rc8-mm1/include/asm-avr32/pgalloc.h
===================================================================

include/asm-avr32/pgalloc.h static inline struct page *pte_alloc_one · line 59

Quoted 10 lines
include/asm-avr32/pgalloc.h +2 -2
@@ -52,9 +52,9 @@ static inline struct page *pte_alloc_one
 	struct page *pte;
 
 	pte = alloc_page(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO);
-	if (!page)
+	if (!pte)
 		return NULL;
-	pgtable_page_ctor(page);
+	pgtable_page_ctor(pte);
 	return pte;
 }

Hmm...I can't see anything like this on my current avr32-arch branch, but I think I mistakenly pushed out some unfinished code about a week ago and rewound it shortly afterwards. If Andrew pulled during that window, I guess it must have made it into -mm :-(

But thanks for testing and for providing a fix. I'll check the code that I was working on and apply the patch if it's still broken.

Haavard

#2 lore raw
Quoted 9 lines · Haavard Skinnemoen

Hmm...I can't see anything like this on my current avr32-arch branch, but I think I mistakenly pushed out some unfinished code about a week ago and rewound it shortly afterwards. If Andrew pulled during that window, I guess it must have made it into -mm :-(

But thanks for testing and for providing a fix. I'll check the code that I was working on and apply the patch if it's still broken.

Cool, np. FWIW I'm trying to get -mm to fly on AVR32 so I have access to the latest gpiolib stuff. Despite this patch and "[PATCH -mm] define empty unxlate_dev_mem_ptr on AVR32" the build still fails due to some timerfd syscall horkenation. Shall look in to that this arvo too.

Quoted 2 lines

Haavard
--

--Ben.

#3 lore raw

PATCH 1/1 Fix timerfd breakage on avr32 (was Re: [PATCH -mm] fix variable use in AVR32 pte_alloc_one)

Quoted 7 lines · On Thu, 24 Jan 2008 10:32:38 +1100 Ben Nizette <[email protected]> wrote:
Quoted 6 lines · Haavard Skinnemoen

Hmm...I can't see anything like this on my current avr32-arch branch, but I think I mistakenly pushed out some unfinished code about a week ago and rewound it shortly afterwards. If Andrew pulled during that window, I guess it must have made it into -mm :-(

Quoted 8 lines
Quoted 3 lines

But thanks for testing and for providing a fix. I'll check the code that I was working on and apply the patch if it's still broken.

Cool, np. FWIW I'm trying to get -mm to fly on AVR32 so I have access to the latest gpiolib stuff. Despite this patch and "[PATCH -mm] define empty unxlate_dev_mem_ptr on AVR32" the build still fails due to some timerfd syscall horkenation. Shall look in to that this arvo too.

Hmm. Someone removed the timerfd() syscall...

---
 arch/avr32/kernel/syscall_table.S |    2 +-
 include/asm-avr32/unistd.h        |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/avr32/kernel/syscall_table.S +1 -1
Index: linux-2.6.24-rc8-mm1/arch/avr32/kernel/syscall_table.S
===================================================================
@@ -293,6 +293,6 @@ sys_call_table:
 	.long	sys_shmctl
 	.long	sys_utimensat
 	.long	sys_signalfd
-	.long	sys_timerfd		/* 280 */
+	.long	sys_ni_syscall		/* 280, was sys_timerfd */
 	.long	sys_eventfd
 	.long	sys_ni_syscall		/* r8 is saturated at nr_syscalls */
include/asm-avr32/unistd.h +1 -1
Index: linux-2.6.24-rc8-mm1/include/asm-avr32/unistd.h
===================================================================
@@ -297,7 +297,7 @@
 
 #define __NR_utimensat		278
 #define __NR_signalfd		279
-#define __NR_timerfd		280
+/* 280 was __NR_timerfd */
 #define __NR_eventfd		281
 
 #ifdef __KERNEL__
#4 lore raw
In reply to Haavard Skinnemoen
Quoted 32 lines · On Wed, 23 Jan 2008 13:20:10 +0100 Haavard Skinnemoen <[email protected]>…
Quoted 12 lines · On Wed, 23 Jan 2008 22:57:34 +1100 Ben Nizette <[email protected]> wrote:

Some parts of this function use 'page', some 'pte'. As such, an AVR32 -mm build fails with an undefined reference to 'page'.

---
Index: linux-2.6.24-rc8-mm1/include/asm-avr32/pgalloc.h
===================================================================

include/asm-avr32/pgalloc.h static inline struct page *pte_alloc_one · line 59

Quoted 10 lines
include/asm-avr32/pgalloc.h +2 -2
@@ -52,9 +52,9 @@ static inline struct page *pte_alloc_one
 	struct page *pte;
 
 	pte = alloc_page(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO);
-	if (!page)
+	if (!pte)
 		return NULL;
-	pgtable_page_ctor(page);
+	pgtable_page_ctor(pte);
 	return pte;
 }

Hmm...I can't see anything like this on my current avr32-arch branch, but I think I mistakenly pushed out some unfinished code about a week ago and rewound it shortly afterwards. If Andrew pulled during that window, I guess it must have made it into -mm :-(

Quoted 3 lines

But thanks for testing and for providing a fix. I'll check the code that I was working on and apply the patch if it's still broken.

This bustage was added by the -mm-only
config_highpte-vs-sub-page-page-tables.patch

Thanks for the fix.