diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c index f4d5b50b46ae..9052dc5e7ad2 100644 --- a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c @@ -130,6 +130,8 @@ int ldlm_proc_setup(void) lprocfs_remove(&ldlm_type_proc_dir); err: ldlm_svc_proc_dir = NULL; + ldlm_type_proc_dir = NULL; + ldlm_ns_proc_dir = NULL; RETURN(rc); } @@ -143,6 +145,10 @@ void ldlm_proc_cleanup(void) if (ldlm_type_proc_dir) lprocfs_remove(&ldlm_type_proc_dir); + + ldlm_svc_proc_dir = NULL; + ldlm_type_proc_dir = NULL; + ldlm_ns_proc_dir = NULL; } static int lprocfs_ns_resources_seq_show(struct seq_file *m, void *v) diff --git a/drivers/staging/lustre/lustre/libcfs/linux/linux-tcpip.c b/drivers/staging/lustre/lustre/libcfs/linux/linux-tcpip.c index 4a018167cb03..6f1f047d6555 100644 --- a/drivers/staging/lustre/lustre/libcfs/linux/linux-tcpip.c +++ b/drivers/staging/lustre/lustre/libcfs/linux/linux-tcpip.c @@ -49,7 +49,6 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) { mm_segment_t oldmm = get_fs(); struct socket *sock; - int fd = -1; int rc; struct file *sock_filp; @@ -61,6 +60,7 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) sock_filp = sock_alloc_file(sock, 0, NULL); if (!sock_filp) { + sock_release(sock); rc = -ENOMEM; goto out; } @@ -71,12 +71,7 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) set_fs(oldmm); fput(sock_filp); - - out: - if (fd >= 0) - sys_close(fd); - else - sock_release(sock); +out: return rc; }