• Stefan Hajnoczi's avatar
    VSOCK: make af_vsock.ko removable again · 05e489b1
    Stefan Hajnoczi authored
    Commit c1eef220 ("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.
    
    Fixes: c1eef220 ("vsock: always call vsock_init_tables()")
    Reported-by: default avatarXiumei Mu <xmu@redhat.com>
    Cc: Cong Wang <xiyou.wangcong@gmail.com>
    Cc: Jorgen Hansen <jhansen@vmware.com>
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Reviewed-by: default avatarJorgen Hansen <jhansen@vmware.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    05e489b1
af_vsock.c 48.2 KB