RE: [PATCH 1/3]: Staging: hv: Use native page allocation/free functions
flat view
From: KY Srinivasan <kys@microsoft.com>
Date: 2011-02-11 21:01:10
Also in:
lkml
-----Original Message----- From: Greg KH [mailto:gregkh@suse.de] Sent: Friday, February 11, 2011 1:30 PM To: KY Srinivasan Cc: linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; virtualization@lists.osdl.org; 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:quoted
--- 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);#elsequoted
+ virtaddr = __vmalloc(PAGE_SIZE, GFP_KERNEL, + __pgprot(__PAGE_KERNEL & (~_PAGE_NX))); #endifI'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