[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <A5A711D2-09B3-4A5C-A131-2C6A0B01FD38@vmware.com>
Date: Tue, 17 Apr 2018 08:30:49 +0000
From: "Jorgen S. Hansen" <jhansen@...are.com>
To: Stefan Hajnoczi <stefanha@...hat.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Cong Wang <xiyou.wangcong@...il.com>
Subject: Re: [PATCH] VSOCK: make af_vsock.ko removable again
> On Apr 17, 2018, at 8:25 AM, Stefan Hajnoczi <stefanha@...hat.com> wrote:
>
> Commit c1eef220c1760762753b602c382127bfccee226d ("vsock: always call
> vsock_init_tables()") introduced a module_init() function without a
> corresponding module_exit() function.
>
> Modules with an init function can only be removed if they also have an
> exit function. Therefore the vsock module was considered "permanent"
> and could not be removed.
>
> This patch adds an empty module_exit() function so that "rmmod vsock"
> works. No explicit cleanup is required because:
>
> 1. Transports call vsock_core_exit() upon exit and cannot be removed
> while sockets are still alive.
> 2. vsock_diag.ko does not perform any action that requires cleanup by
> vsock.ko.
>
> Reported-by: Xiumei Mu <xmu@...hat.com>
> Cc: Cong Wang <xiyou.wangcong@...il.com>
> Cc: Jorgen Hansen <jhansen@...are.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@...hat.com>
> ---
> net/vmw_vsock/af_vsock.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
> index aac9b8f6552e..c1076c19b858 100644
> --- a/net/vmw_vsock/af_vsock.c
> +++ b/net/vmw_vsock/af_vsock.c
> @@ -2018,7 +2018,13 @@ const struct vsock_transport *vsock_core_get_transport(void)
> }
> EXPORT_SYMBOL_GPL(vsock_core_get_transport);
>
> +static void __exit vsock_exit(void)
> +{
> + /* Do nothing. This function makes this module removable. */
> +}
> +
> module_init(vsock_init_tables);
> +module_exit(vsock_exit);
>
> MODULE_AUTHOR("VMware, Inc.");
> MODULE_DESCRIPTION("VMware Virtual Socket Family");
> --
> 2.14.3
>
Looks good to me.
Reviewed-by: Jorgen Hansen <jhansen@...are.com>
Powered by blists - more mailing lists