Re: [PATCH 00/16] mm: prepare for converting vm->vm_flags to 64-bit

Al Viro
2012-03-30T02:20:06Z

On Fri, Mar 23, 2012 at 12:19:36PM -0400, KOSAKI Motohiro wrote:
> On 3/22/2012 5:28 PM, Al Viro wrote:
> > On Thu, Mar 22, 2012 at 02:26:47PM -0700, Andrew Morton wrote:
> >> It would be nice to find some way of triggering compiler warnings or
> >> sparse warnings if someone mixes a 32-bit type with a vm_flags_t. Any
> >> thoughts on this?
> >>
> >> (Maybe that's what __nocast does, but Documentation/sparse.txt doesn't
> >> describe it)
> >
> > Use __bitwise for that - check how gfp_t is handled.
>
> Hmm..
>
> If now we activate __bitwise, really plenty driver start create lots warnings.
> Does it make sense?

Huh? Why would they? Just adjust definitions of VM_... to include
force-cast to vm_flags_t and we should be OK...

> In fact, x86-32 keep 32bit vma_t forever. thus all x86 specific driver don't
> need any change. Moreover many ancient drivers has no maintainer and I can't
> expect such driver will be fixed even though a warning occur.

What warning? If something does manual vma->vm_flags = 0xwhatever, then yes,
we do want it dealt with. If it's vma->vm_flags |= VM_something, there should
be no warnings at all...