On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but