Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vsock: fix missing cleanup when misc_register failed

reset transport and unlock if misc_register failed.

Signed-off-by: Gao feng <omarapazanadi@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Gao feng and committed by
David S. Miller
f6a835bb 10be15ff

+4 -3
+4 -3
net/vmw_vsock/af_vsock.c
··· 1948 1948 err = misc_register(&vsock_device); 1949 1949 if (err) { 1950 1950 pr_err("Failed to register misc device\n"); 1951 - return -ENOENT; 1951 + goto err_reset_transport; 1952 1952 } 1953 1953 1954 1954 err = proto_register(&vsock_proto, 1); /* we want our slab */ 1955 1955 if (err) { 1956 1956 pr_err("Cannot register vsock protocol\n"); 1957 - goto err_misc_deregister; 1957 + goto err_deregister_misc; 1958 1958 } 1959 1959 1960 1960 err = sock_register(&vsock_family_ops); ··· 1969 1969 1970 1970 err_unregister_proto: 1971 1971 proto_unregister(&vsock_proto); 1972 - err_misc_deregister: 1972 + err_deregister_misc: 1973 1973 misc_deregister(&vsock_device); 1974 + err_reset_transport: 1974 1975 transport = NULL; 1975 1976 err_busy: 1976 1977 mutex_unlock(&vsock_register_mutex);