Message ID | 1592229357-1904-1-git-send-email-zhangfei.gao@linaro.org |
---|---|
State | Accepted |
Commit | 51d501e540e6edd6737c0f1383b7789232595c13 |
Headers | show |
Series | uacce: remove uacce_vma_fault | expand |
On Mon, Jun 15, 2020 at 09:55:57PM +0800, Zhangfei Gao wrote: > 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: Jean-Philippe Brucker <jean-philippe@linaro.org> > Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/misc/uacce/uacce.c | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c > index 107028e..aa91f69 100644 > --- a/drivers/misc/uacce/uacce.c > +++ b/drivers/misc/uacce/uacce.c > @@ -179,14 +179,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; > @@ -199,7 +191,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, > }; > > -- > 2.7.4 >
diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c index 107028e..aa91f69 100644 --- a/drivers/misc/uacce/uacce.c +++ b/drivers/misc/uacce/uacce.c @@ -179,14 +179,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; @@ -199,7 +191,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, };
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: Jean-Philippe Brucker <jean-philippe@linaro.org> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> --- drivers/misc/uacce/uacce.c | 9 --------- 1 file changed, 9 deletions(-) -- 2.7.4