On 11/16/2017 11:18 AM, Michal Hocko wrote:
+       if (flags & MAP_FIXED_SAFE) {
+               struct vm_area_struct *vma = find_vma(mm, addr);
+
+               if (vma && vma->vm_start <= addr)
+                       return -ENOMEM;
+       }

Could you pick a different error code which cannot also be caused by a an unrelated, possibly temporary condition? Maybe EBUSY or EEXIST?

This would definitely help with application-based randomization of mappings, and there, actual ENOMEM and this error would have to be handled differently.

Thanks,
Florian

Reply via email to