projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
653d22c
)
pagemap: fix 32-bit pagemap regression
author
Matt Mackall
<
[email protected]
>
Tue, 9 Dec 2008 21:14:21 +0000
(13:14 -0800)
committer
Linus Torvalds
<
[email protected]
>
Wed, 10 Dec 2008 16:01:53 +0000
(08:01 -0800)
The large pages fix from
bcf8039ed45
broke 32-bit pagemap by pulling the
pagemap entry code out into a function with the wrong return type.
Pagemap entries are 64 bits on all systems and unsigned long is only 32
bits on 32-bit systems.
Signed-off-by: Matt Mackall <
[email protected]
>
Reported-by: Doug Graham <
[email protected]
>
Cc: Alexey Dobriyan <
[email protected]
>
Cc: Dave Hansen <
[email protected]
>
Cc: <
[email protected]
> [2.6.26.x, 2.6.27.x]
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
fs/proc/task_mmu.c
patch
|
blob
|
history
diff --git
a/fs/proc/task_mmu.c
b/fs/proc/task_mmu.c
index b770c095e45c62f86e78da2f9d1524085f9d45fd..3a8bdd7f5756e37d430f15b2b5b76fb672c9b965 100644
(file)
--- a/
fs/proc/task_mmu.c
+++ b/
fs/proc/task_mmu.c
@@
-557,9
+557,9
@@
static u64 swap_pte_to_pagemap_entry(pte_t pte)
return swp_type(e) | (swp_offset(e) << MAX_SWAPFILES_SHIFT);
}
-static u
nsigned long
pte_to_pagemap_entry(pte_t pte)
+static u
64
pte_to_pagemap_entry(pte_t pte)
{
- u
nsigned long
pme = 0;
+ u
64
pme = 0;
if (is_swap_pte(pte))
pme = PM_PFRAME(swap_pte_to_pagemap_entry(pte))
| PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;