Skip to content
Commit db78c222 authored by Dan Williams's avatar Dan Williams Committed by Linus Torvalds
Browse files

mm: fix pfn_t vs highmem

The pfn_t type uses an unsigned long to store a pfn + flags value.  On a
64-bit platform the upper 12 bits of an unsigned long are never used for
storing the value of a pfn.  However, this is not true on highmem
platforms, all 32-bits of a pfn value are used to address a 44-bit
physical address space.  A pfn_t needs to store a 64-bit value.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=112211


Fixes: 01c8f1c4 ("mm, dax, gpu: convert vm_insert_mixed to pfn_t")
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Reported-by: default avatarStuart Foster <smf.linux@ntlworld.com>
Reported-by: default avatarJulian Margetson <runaway@candw.ms>
Tested-by: default avatarJulian Margetson <runaway@candw.ms>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4a389810
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment