Re: [PATCH for-next v6 10/12] RDMA/efa: Add EFA verbs implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux