Commit 20a8e045 authored by Alistair Popple's avatar Alistair Popple Committed by Andrew Morton
Browse files

cramfs: fix incorrect physical page address calculation

Commit 21aa65bf ("mm: remove callers of pfn_t functionality")
incorrectly replaced the pfn with the physical address when calling
vmf_insert_mixed().  Instead the phys_to_pfn_t() call should have been
replaced with PHYS_PFN().

Found by inspection after a similar issue was noted in fuse virtio_fs.

Link: https://lkml.kernel.org/r/20250923005333.3165032-1-apopple@nvidia.com


Fixes: 21aa65bf ("mm: remove callers of pfn_t functionality")
Signed-off-by: default avatarAlistair Popple <apopple@nvidia.com>
Reviewed-by: default avatarDev Jain <dev.jain@arm.com>
Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Cc: Haiyue Wang <haiyuewa@163.com>
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 634cdfd6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ static int cramfs_physmem_mmap(struct file *file, struct vm_area_struct *vma)
			vm_fault_t vmf;
			unsigned long off = i * PAGE_SIZE;
			vmf = vmf_insert_mixed(vma, vma->vm_start + off,
					address + off);
					PHYS_PFN(address + off));
			if (vmf & VM_FAULT_ERROR)
				ret = vm_fault_to_errno(vmf, 0);
		}