lkml.org 
[lkml]   [2011]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: mm: convert vma->vm_flags to 64bit
On Mon, Apr 11, 2011 at 11:33:58PM -0700, Andrew Morton wrote:
> How the heck did we end up using 32 flags??

Good question.

> > @@ -217,7 +217,7 @@ vivt_flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned
> > {
> > if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm)))
> > __cpuc_flush_user_range(start & PAGE_MASK, PAGE_ALIGN(end),
> > - vma->vm_flags);
> > + (unsigned long)vma->vm_flags);
> > }
>
> I'm surprised this change (and similar) are needed?
>
> Is it risky? What happens if we add yet another vm_flags bit and
> __cpuc_flush_user_range() wants to use it? I guess when that happens,
> __cpuc_flush_user_range() needs to be changed to take a ull.

The truncation is fine provided VM_EXEC is within the least significant
word. If it isn't, then we'll blow up when the cache handling assembly
gets parsed by the assembler as the VM_EXEC value will overflow.


\
 
 \ /
  Last update: 2011-04-12 22:35    [from the cache]
©2003-2011 Jasper Spaans