netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel@lists.xen.org, netdev@vger.kernel.org,
	ian.campbell@citrix.com, annie.li@oracle.com
Subject: Re: [Xen-devel] [PATCH 2/8] netback: add module unload function
Date: Mon, 4 Mar 2013 15:55:30 -0500	[thread overview]
Message-ID: <20130304205530.GC16762@phenom.dumpdata.com> (raw)
In-Reply-To: <1360944010-15336-3-git-send-email-wei.liu2@citrix.com>

On Fri, Feb 15, 2013 at 04:00:03PM +0000, Wei Liu wrote:
> Enable users to unload netback module. Users should make sure there is not vif
> runnig.

'sure there are no vif's running.'

Any way of making this VIF part be automatic? Meaning that netback
can figure out if there are VIFs running and if so don't unload
all of the parts and just mention that you are leaking memory.

This looks quite dangerous - meaning if there are guests running and
we for fun do 'rmmod xen_netback' it looks like we could crash dom0?

> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> ---
>  drivers/net/xen-netback/common.h  |    1 +
>  drivers/net/xen-netback/netback.c |   18 ++++++++++++++++++
>  drivers/net/xen-netback/xenbus.c  |    5 +++++
>  3 files changed, 24 insertions(+)
> 
> diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
> index 9d7f172..35d8772 100644
> --- a/drivers/net/xen-netback/common.h
> +++ b/drivers/net/xen-netback/common.h
> @@ -120,6 +120,7 @@ void xenvif_get(struct xenvif *vif);
>  void xenvif_put(struct xenvif *vif);
>  
>  int xenvif_xenbus_init(void);
> +void xenvif_xenbus_exit(void);
>  
>  int xenvif_schedulable(struct xenvif *vif);
>  
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index db8d45a..de59098 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -1761,5 +1761,23 @@ failed_init:
>  
>  module_init(netback_init);
>  
> +static void __exit netback_exit(void)
> +{
> +	int group, i;
> +	xenvif_xenbus_exit();

You should check the return code of this function.

> +	for (group = 0; group < xen_netbk_group_nr; group++) {
> +		struct xen_netbk *netbk = &xen_netbk[group];
> +		for (i = 0; i < MAX_PENDING_REQS; i++) {
> +			if (netbk->mmap_pages[i])
> +				__free_page(netbk->mmap_pages[i]);
> +		}
> +		del_timer_sync(&netbk->net_timer);
> +		kthread_stop(netbk->task);
> +	}
> +	vfree(xen_netbk);
> +}
> +
> +module_exit(netback_exit);
> +
>  MODULE_LICENSE("Dual BSD/GPL");
>  MODULE_ALIAS("xen-backend:vif");
> diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
> index 410018c..65d14f2 100644
> --- a/drivers/net/xen-netback/xenbus.c
> +++ b/drivers/net/xen-netback/xenbus.c
> @@ -485,3 +485,8 @@ int xenvif_xenbus_init(void)
>  {
>  	return xenbus_register_backend(&netback_driver);
>  }
> +
> +void xenvif_xenbus_exit(void)
> +{
> +	return xenbus_unregister_driver(&netback_driver);
> +}
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

  reply	other threads:[~2013-03-04 20:55 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-15 16:00 [PATCH 0/8] Bugfix and mechanical works for Xen network driver Wei Liu
2013-02-15 16:00 ` [PATCH 1/8] netback: don't bind kthread to cpu Wei Liu
2013-03-04 20:51   ` Konrad Rzeszutek Wilk
2013-03-05 13:30     ` Wei Liu
2013-03-05 13:56       ` [Xen-devel] " Konrad Rzeszutek Wilk
2013-03-05 14:04         ` Wei Liu
2013-03-05 14:42         ` David Vrabel
2013-03-05 15:52           ` Konrad Rzeszutek Wilk
2013-02-15 16:00 ` [PATCH 2/8] netback: add module unload function Wei Liu
2013-03-04 20:55   ` Konrad Rzeszutek Wilk [this message]
2013-03-04 20:58     ` [Xen-devel] " Andrew Cooper
2013-03-05 13:30     ` Wei Liu
2013-03-04 21:58   ` Stephen Hemminger
2013-03-05 13:30     ` Wei Liu
2013-02-15 16:00 ` [PATCH 3/8] netback: get/put module along with vif connect/disconnect Wei Liu
2013-03-04 20:56   ` Konrad Rzeszutek Wilk
2013-03-05 10:02   ` [Xen-devel] " David Vrabel
2013-03-05 13:30     ` Wei Liu
2013-03-05 14:07       ` David Vrabel
2013-03-05 14:44         ` Wei Liu
2013-03-05 15:53         ` Konrad Rzeszutek Wilk
2013-02-15 16:00 ` [PATCH 4/8] xenbus_client: Extend interface to support multi-page ring Wei Liu
2013-02-15 16:17   ` [Xen-devel] " Jan Beulich
2013-02-15 16:33     ` Wei Liu
2013-02-15 16:59       ` Jan Beulich
2013-02-15 17:01         ` Wei Liu
2013-03-04 21:12   ` Konrad Rzeszutek Wilk
2013-03-05 10:25   ` [Xen-devel] " David Vrabel
2013-02-15 16:00 ` [PATCH 5/8] netback: multi-page ring support Wei Liu
2013-03-04 21:00   ` [Xen-devel] " Konrad Rzeszutek Wilk
2013-03-05 10:41   ` David Vrabel
2013-02-15 16:00 ` [PATCH 6/8] netfront: " Wei Liu
2013-02-26  6:52   ` ANNIE LI
2013-02-26 12:35     ` Wei Liu
2013-02-27  7:39       ` ANNIE LI
2013-02-27 15:49         ` Wei Liu
2013-02-28  5:19           ` ANNIE LI
2013-02-28 11:02             ` Wei Liu
2013-02-28 12:55               ` annie li
2013-03-04 21:16   ` Konrad Rzeszutek Wilk
2013-02-15 16:00 ` [PATCH 7/8] netback: split event channels support Wei Liu
2013-03-04 21:22   ` Konrad Rzeszutek Wilk
2013-02-15 16:00 ` [PATCH 8/8] netfront: " Wei Liu
2013-03-04 21:24   ` Konrad Rzeszutek Wilk
2013-02-26  3:07 ` [Xen-devel] [PATCH 0/8] Bugfix and mechanical works for Xen network driver ANNIE LI
2013-02-26 11:33   ` Wei Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130304205530.GC16762@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=annie.li@oracle.com \
    --cc=ian.campbell@citrix.com \
    --cc=netdev@vger.kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).