RE: [PATCH 1/3]: Staging: hv: Use native page allocation/freefunctions

From: KY Srinivasan
Date: Fri Feb 11 2011 - 16:01:14 EST




> -----Original Message-----
> From: Greg KH [mailto:gregkh@xxxxxxx]
> Sent: Friday, February 11, 2011 1:30 PM
> To: KY Srinivasan
> Cc: linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx;
> virtualization@xxxxxxxxxxxxxx; Hank Janssen
> Subject: Re: [PATCH 1/3]: Staging: hv: Use native page allocation/free functions
>
> On Fri, Feb 11, 2011 at 09:59:00AM -0800, K. Y. Srinivasan wrote:
> > --- a/drivers/staging/hv/hv.c
> > +++ b/drivers/staging/hv/hv.c
> > @@ -230,7 +230,12 @@ int hv_init(void)
> > * Allocate the hypercall page memory
> > * virtaddr = osd_page_alloc(1);
> > */
> > - virtaddr = osd_virtual_alloc_exec(PAGE_SIZE);
> > +#ifdef __x86_64__
> > + virtaddr = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL_EXEC);
> #else
> > + virtaddr = __vmalloc(PAGE_SIZE, GFP_KERNEL,
> > + __pgprot(__PAGE_KERNEL & (~_PAGE_NX))); #endif
>
> I'm not saying this patch is wrong at all, but I still don't understand why this is
> different depending on the architecture of the machine. Why is this necessary, it
> should be ok to do the same type of allocation no matter what the processor is,
> right?

You are right Greg; I don't think there is a need to specify different page
protection bits based on the architecture - PAGE_KERNEL_EXEC should be enough.
However, this is the code that is currently in the tree - refer to osd.c.
If it is ok with you, I could submit an additional patch to clean this up.

Regards,

K. Y
>
> thanks,
>
> greg k-h

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/