On Mon, May 06, 2019 at 09:25:05AM +0300, Gal Pressman wrote: > On 05-May-19 15:37, Jason Gunthorpe wrote: > > On Sun, May 05, 2019 at 10:36:36AM +0300, Gal Pressman wrote: > >> On 03-May-19 15:21, Jason Gunthorpe wrote: > >>> On Fri, May 03, 2019 at 12:32:58PM +0300, Gal Pressman wrote: > >>>> On 02-May-19 20:47, Jason Gunthorpe wrote: > >>>>> On Thu, May 02, 2019 at 11:46:00AM +0300, Leon Romanovsky wrote: > >>>>>> On Thu, May 02, 2019 at 11:28:40AM +0300, Gal Pressman wrote: > >>>>>>> On 01-May-19 19:40, Jason Gunthorpe wrote: > >>>>>>>> On Wed, May 01, 2019 at 01:48:22PM +0300, Gal Pressman wrote: > >>>>>>>> > >>>>>>>>> +int efa_mmap(struct ib_ucontext *ibucontext, > >>>>>>>>> + struct vm_area_struct *vma) > >>>>>>>>> +{ > >>>>>>>>> + struct efa_ucontext *ucontext = to_eucontext(ibucontext); > >>>>>>>>> + struct efa_dev *dev = to_edev(ibucontext->device); > >>>>>>>>> + u64 length = vma->vm_end - vma->vm_start; > >>>>>>>>> + u64 key = vma->vm_pgoff << PAGE_SHIFT; > >>>>>>>>> + struct efa_mmap_entry *entry; > >>>>>>>>> + > >>>>>>>>> + ibdev_dbg(&dev->ibdev, > >>>>>>>>> + "start %#lx, end %#lx, length = %#llx, key = %#llx\n", > >>>>>>>>> + vma->vm_start, vma->vm_end, length, key); > >>>>>>>>> + > >>>>>>>>> + if (length % PAGE_SIZE != 0 || !(vma->vm_flags & VM_SHARED)) { > >>>>>>>>> + ibdev_dbg(&dev->ibdev, > >>>>>>>>> + "length[%#llx] is not page size aligned[%#lx] or VM_SHARED is not set [%#lx]\n", > >>>>>>>>> + length, PAGE_SIZE, vma->vm_flags); > >>>>>>>>> + return -EINVAL; > >>>>>>>>> + } > >>>>>>>>> + > >>>>>>>>> + if (vma->vm_flags & VM_EXEC) { > >>>>>>>>> + ibdev_dbg(&dev->ibdev, "Mapping executable pages is not permitted\n"); > >>>>>>>>> + return -EPERM; > >>>>>>>>> + } > >>>>>>>>> + vma->vm_flags &= ~VM_MAYEXEC; > >>>>>>>> > >>>>>>>> Also we dropped the MAYEXEC stuff > >>>>>>> > >>>>>>> Latest commit that had any MAYEXEC changes is 4eb6ab13b991 ("RDMA: Remove > >>>>>>> rdma_user_mmap_page"), where MAYEXEC is added not removed. > >>>>>>> Am I missing a followup patch? > >>>>>> > >>>>>> I'm not aware of any. > >>>>> > >>>>> It was a mistake it wasn't removed from that commit too. > >>>> > >>>> Can you explain please? > >>> > >>> We dropped all the MAYEXEC stuff and that case got missed - it should > >>> have been dropped too > >> > >> Why is MAYEXEC not needed? > > > > There was a big thread about it.. It currently breaks userspace that > > uses GNU_STACK=RWX > > Thanks, I can send a fix to mlx5 and efa but I need more information for a > proper commit message. Do you have a link to this thread? I'll handle mlx5 part. Thanks