Subject: Re: [Xen-devel] [PATCH net-next v4] xen-netfront: clean up code in xennet_release_rx_bufs

From: David Vrabel <[email-masked]>
Date: Fri, 24 Jan 2014 10:48:39 +0000

On 24/01/14 03:28, Annie Li wrote:
> From: Annie Li <[email-masked]>
> 
> This patch removes grant transfer releasing code from netfront, and uses
> gnttab_end_foreign_access to end grant access since
> gnttab_end_foreign_access_ref may fail when the grant entry is
> currently used for reading or writing.
> 
> * clean up grant transfer code kept from old netfront(2.6.18) which grants
> pages for access/map and transfer. But grant transfer is deprecated in current
> netfront, so remove corresponding release code for transfer.
> 
> * release grant access (through gnttab_end_foreign_access) and skb for tx/rx path,
> use get_page to ensure page is released when grant access is completed successfully.
> 
> Xen-blkfront/xen-tpmfront/xen-pcifront also have similar issue, but patches
> for them will be created separately.
...
> @@ -1439,8 +1403,11 @@ static int netfront_probe(struct xenbus_device *dev,
>  static void xennet_end_access(int ref, void *page)
>  {
>  	/* This frees the page as a side-effect */
> -	if (ref != GRANT_INVALID_REF)
> +	if (ref != GRANT_INVALID_REF) {
> +		get_page(virt_to_page(page));
>  		gnttab_end_foreign_access(ref, 0, (unsigned long)page);
> +		free_page((unsigned long)page);
> +	}
>  }

Please drop this hunk.

Otherwise,

Reviewed-by: David Vrabel <[email-masked]>

David