Commit 0d67f0de authored by Haren Myneni's avatar Haren Myneni Committed by Madhavan Srinivasan
Browse files

powerpc/vas: Return -EINVAL if the offset is non-zero in mmap()



The user space calls mmap() to map VAS window paste address
and the kernel returns the complete mapped page for each
window. So return -EINVAL if non-zero is passed for offset
parameter to mmap().

See Documentation/arch/powerpc/vas-api.rst for mmap()
restrictions.

Co-developed-by: default avatarJonathan Greental <yonatan02greental@gmail.com>
Signed-off-by: default avatarJonathan Greental <yonatan02greental@gmail.com>
Reported-by: default avatarJonathan Greental <yonatan02greental@gmail.com>
Fixes: dda44eb2 ("powerpc/vas: Add VAS user space API")
Signed-off-by: default avatarHaren Myneni <haren@linux.ibm.com>
Signed-off-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250610021227.361980-2-maddy@linux.ibm.com
parent cd097df4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -521,6 +521,15 @@ static int coproc_mmap(struct file *fp, struct vm_area_struct *vma)
		return -EINVAL;
	}

	/*
	 * Map complete page to the paste address. So the user
	 * space should pass 0ULL to the offset parameter.
	 */
	if (vma->vm_pgoff) {
		pr_debug("Page offset unsupported to map paste address\n");
		return -EINVAL;
	}

	/* Ensure instance has an open send window */
	if (!txwin) {
		pr_err("No send window open?\n");