Skip to content

Commit

Permalink
[PATCH] xtensa: pgtable fixes
Browse files Browse the repository at this point in the history
- Don't return uninitialised stack values in case of allocation failure

- Don't bother clearing PageCompound because __GFP_COMP wasn't specified
  Increment over the pte page rather than one pte entry in
  pte_alloc_one_kernel

- Actually increment the page pointer in pte_alloc_one

- Compile fixes, typos.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Nick Piggin authored and Linus Torvalds committed Mar 22, 2006
1 parent 8dc04ef commit 8e7a9aa
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions arch/xtensa/mm/pgtable.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

pte_t* pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
{
pte_t *pte, p;
pte_t *pte = NULL, *p;
int color = ADDR_COLOR(address);
int i;

Expand All @@ -23,16 +23,16 @@ pte_t* pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
if (likely(p)) {
struct page *page;

for (i = 0; i < COLOR_SIZE; i++, p++) {
page = virt_to_page(pte);
for (i = 0; i < COLOR_SIZE; i++) {
page = virt_to_page(p);

set_page_count(page, 1);
ClearPageCompound(page);

if (ADDR_COLOR(p) == color)
pte = p;
else
free_page(p);
p += PTRS_PER_PTE;
}
clear_page(pte);
}
Expand All @@ -49,20 +49,20 @@ int flush;

struct page* pte_alloc_one(struct mm_struct *mm, unsigned long address)
{
struct page *page, p;
struct page *page = NULL, *p;
int color = ADDR_COLOR(address);

p = alloc_pages(GFP_KERNEL | __GFP_REPEAT, PTE_ORDER);

if (likely(p)) {
for (i = 0; i < PAGE_ORDER; i++) {
set_page_count(p, 1);
ClearPageCompound(p);

if (PADDR_COLOR(page_address(pg)) == color)
if (PADDR_COLOR(page_address(p)) == color)
page = p;
else
free_page(p);
__free_page(p);
p++;
}
clear_highpage(page);
}
Expand Down

0 comments on commit 8e7a9aa

Please sign in to comment.