Commit 0274ba70 authored by Zhangfei Gao's avatar Zhangfei Gao Committed by JiangShui
Browse files

uacce: remove uacce_vma_fault

mainline inclusion
from mainline-v5.9-rc1
commit 51d501e5
category: cleanup
bugzilla: https://gitee.com/openeuler/kernel/issues/T878TZ
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=51d501e540e6edd6737c0f1383b7789232595c13



----------------------------------------------------------------------

Fix NULL pointer error if removing uacce's parent module during app's
running. SIGBUS is already reported by do_page_fault, so uacce_vma_fault
is not needed. If providing vma_fault, vmf->page has to be filled as well,
required by __do_fault.

Reported-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: default avatarZhangfei Gao <zhangfei.gao@linaro.org>
Reviewed-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
Link: https://lore.kernel.org/r/1592229357-1904-1-git-send-email-zhangfei.gao@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJiangShui Yang <yangjiangshui@h-partners.com>
parent e3e3b3c4
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -385,14 +385,6 @@ static int uacce_fops_release(struct inode *inode, struct file *filep)
	return 0;
}

static vm_fault_t uacce_vma_fault(struct vm_fault *vmf)
{
	if (vmf->flags & (FAULT_FLAG_MKWRITE | FAULT_FLAG_WRITE))
		return VM_FAULT_SIGBUS;

	return 0;
}

static void uacce_vma_close(struct vm_area_struct *vma)
{
	struct uacce_queue *q = vma->vm_private_data;
@@ -423,7 +415,6 @@ static void uacce_vma_close(struct vm_area_struct *vma)
}

static const struct vm_operations_struct uacce_vm_ops = {
	.fault = uacce_vma_fault,
	.close = uacce_vma_close,
};