lkml.org 
[lkml]   [2018]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v12 10/11] sparc64: Add support for ADI (Application Data Integrity)
From
Date
On 03/05/2018 12:22 PM, Dave Hansen wrote:
> On 02/21/2018 09:15 AM, Khalid Aziz wrote:
>> +#define arch_validate_prot(prot, addr) sparc_validate_prot(prot, addr)
>> +static inline int sparc_validate_prot(unsigned long prot, unsigned long addr)
>> +{
>> + if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC | PROT_SEM | PROT_ADI))
>> + return 0;
>> + if (prot & PROT_ADI) {
>> + if (!adi_capable())
>> + return 0;
>> +
>> + if (addr) {
>> + struct vm_area_struct *vma;
>> +
>> + vma = find_vma(current->mm, addr);
>> + if (vma) {
>> + /* ADI can not be enabled on PFN
>> + * mapped pages
>> + */
>> + if (vma->vm_flags & (VM_PFNMAP | VM_MIXEDMAP))
>> + return 0;
>
> You don't hold mmap_sem here. How can this work?
>

Are you suggesting that vma returned by find_vma() could be split or
merged underneath me if I do not hold mmap_sem and thus make the flag
check invalid? If so, that is a good point.

Thanks,
Khalid

\
 
 \ /
  Last update: 2018-03-05 22:21    [W:0.123 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site