netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] vsock: fix missing cleanup when misc_register failed
@ 2015-10-18 14:27 Gao feng
  2015-10-18 15:27 ` kbuild test robot
  0 siblings, 1 reply; 2+ messages in thread
From: Gao feng @ 2015-10-18 14:27 UTC (permalink / raw)
  To: netdev; +Cc: Gao feng

reset transport and unlock if misc_register failed.

Signed-off-by: Gao feng <omarapazanadi@gmail.com>
---
 net/vmw_vsock/af_vsock.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index df5fc6b..598e045 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -1948,13 +1948,13 @@ int __vsock_core_init(const struct vsock_transport *t, struct module *owner)
 	err = misc_register(&vsock_device);
 	if (err) {
 		pr_err("Failed to register misc device\n");
-		return -ENOENT;
+		goto err_reset_transport;
 	}
 
 	err = proto_register(&vsock_proto, 1);	/* we want our slab */
 	if (err) {
 		pr_err("Cannot register vsock protocol\n");
-		goto err_misc_deregister;
+		goto err_deregister_misc;
 	}
 
 	err = sock_register(&vsock_family_ops);
@@ -1969,8 +1969,9 @@ int __vsock_core_init(const struct vsock_transport *t, struct module *owner)
 
 err_unregister_proto:
 	proto_unregister(&vsock_proto);
-err_misc_deregister:
+err_undegister_misc:
 	misc_deregister(&vsock_device);
+err_reset_transport:
 	transport = NULL;
 err_busy:
 	mutex_unlock(&vsock_register_mutex);
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] vsock: fix missing cleanup when misc_register failed
  2015-10-18 14:27 [PATCH v2] vsock: fix missing cleanup when misc_register failed Gao feng
@ 2015-10-18 15:27 ` kbuild test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kbuild test robot @ 2015-10-18 15:27 UTC (permalink / raw)
  To: Gao feng; +Cc: kbuild-all, netdev, Gao feng

[-- Attachment #1: Type: text/plain, Size: 2307 bytes --]

Hi Gao,

[auto build test ERROR on net/master -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Gao-feng/vsock-fix-missing-cleanup-when-misc_register-failed/20151018-223056
config: x86_64-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   net/vmw_vsock/af_vsock.c:1957:17: sparse: label 'err_deregister_misc' was not declared
   net/vmw_vsock/af_vsock.c: In function '__vsock_core_init':
>> net/vmw_vsock/af_vsock.c:1972:1: warning: label 'err_undegister_misc' defined but not used [-Wunused-label]
    err_undegister_misc:
    ^
>> net/vmw_vsock/af_vsock.c:1957:3: error: label 'err_deregister_misc' used but not defined
      goto err_deregister_misc;
      ^

sparse warnings: (new ones prefixed by >>)

>> net/vmw_vsock/af_vsock.c:1957:17: sparse: label 'err_deregister_misc' was not declared
   net/vmw_vsock/af_vsock.c: In function '__vsock_core_init':
   net/vmw_vsock/af_vsock.c:1972:1: warning: label 'err_undegister_misc' defined but not used [-Wunused-label]
    err_undegister_misc:
    ^
   net/vmw_vsock/af_vsock.c:1957:3: error: label 'err_deregister_misc' used but not defined
      goto err_deregister_misc;
      ^

vim +/err_deregister_misc +1957 net/vmw_vsock/af_vsock.c

  1951			goto err_reset_transport;
  1952		}
  1953	
  1954		err = proto_register(&vsock_proto, 1);	/* we want our slab */
  1955		if (err) {
  1956			pr_err("Cannot register vsock protocol\n");
> 1957			goto err_deregister_misc;
  1958		}
  1959	
  1960		err = sock_register(&vsock_family_ops);
  1961		if (err) {
  1962			pr_err("could not register af_vsock (%d) address family: %d\n",
  1963			       AF_VSOCK, err);
  1964			goto err_unregister_proto;
  1965		}
  1966	
  1967		mutex_unlock(&vsock_register_mutex);
  1968		return 0;
  1969	
  1970	err_unregister_proto:
  1971		proto_unregister(&vsock_proto);
> 1972	err_undegister_misc:
  1973		misc_deregister(&vsock_device);
  1974	err_reset_transport:
  1975		transport = NULL;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 50053 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-18 15:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-18 14:27 [PATCH v2] vsock: fix missing cleanup when misc_register failed Gao feng
2015-10-18 15:27 ` kbuild test robot

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).