Package: linux-image-2.6.26-1-686
Version: 2.6.26-11
Severity: normal
Tags: patch

--- Please enter the report below this line. ---

There is a patch in upstream kernel 2.6.28 which fixes an oversight bug
in the code for /proc/<pid>/pagemap file; you can find the commit at
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49c50342c728344b79c8f9e8293637fe80ef5ad5

Without this bugfix, the pagemap file is missing the Present/Swapped
bits for every page on 32 bit systems, because they are encoded in bits
62 and 63, while the bug truncates the values to 32 bits.

The patch itself is attached as well. Would it be possible to apply it
to the kernel for Lenny? Or will it appear there anyway with a future
update?

Thanks,
Oliver

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.26-1-686

Debian Release: lenny/sid
  990 testing         mainbox 
  990 testing         deb.opera.com 
  500 unstable        viewizard.com 
  500 unstable        snapshots.ekiga.net 
  500 unstable        mainbox 
  500 stable          mainbox 
  500 stable          emacs.orebokech.com 
  500 stable          deb.opera.com 
  500 experimental    mainbox 

--- Package information. ---
Depends                     (Version) | Installed
=====================================-+-=============
module-init-tools                     | 3.4-1
initramfs-tools            (>= 0.55)  | 0.92g
 OR yaird                (>= 0.0.13)  | 
 OR linux-initramfs-tool              | 


--- 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 unsigned long pte_to_pagemap_entry(pte_t pte)
+static u64 pte_to_pagemap_entry(pte_t pte)
 {
-       unsigned long pme = 0;
+       u64 pme = 0;
        if (is_swap_pte(pte))
                pme = PM_PFRAME(swap_pte_to_pagemap_entry(pte))
                        | PM_PSHIFT(PAGE_SHIFT) | PM_SWAP;

Reply via email to