--- ./drivers/char/vt.c.~1~ 2004-03-26 21:32:05.102510491 -0500 +++ ./drivers/char/vt.c 2004-03-26 23:04:41.443943776 -0500 @@ -2509,13 +2509,11 @@ if (tty && tty->count == 1) { struct vt_struct *vt; + vcs_remove_devfs(tty); vt = tty->driver_data; if (vt) vc_cons[vt->vc_num].d->vc_tty = NULL; tty->driver_data = 0; - release_console_sem(); - vcs_remove_devfs(tty); - return; } release_console_sem(); } --- ./fs/lockd/host.c.~1~ 2004-03-26 21:32:14.000000000 -0500 +++ ./fs/lockd/host.c 2004-03-26 23:37:51.842001343 -0500 @@ -55,6 +55,25 @@ } /* + * Allocate an NSM handle + */ +struct nsm_handle * +nsm_alloc(struct sockaddr_in *sin) +{ + struct nsm_handle *nsm; + + nsm = (struct nsm_handle *) kmalloc(sizeof(*nsm), GFP_KERNEL); + if (nsm == NULL) + return NULL; + + memset(nsm, 0, sizeof(*nsm)); + memcpy(&nsm->sm_addr, sin, sizeof(nsm->sm_addr)); + atomic_set(&nsm->sm_count, 1); + + return nsm; +} + +/* * Common host lookup routine for server & client */ struct nlm_host * @@ -143,10 +162,10 @@ } } } +#endif if (host->h_nsmhandle == NULL) host->h_nsmhandle = nsm_alloc(&host->h_addr); -#endif if (++nrhosts > NLM_HOST_MAX) next_gc = 0; --- ./fs/lockd/mon.c.~1~ 2004-03-26 21:32:14.597598271 -0500 +++ ./fs/lockd/mon.c 2004-03-26 23:45:59.915057066 -0500 @@ -98,7 +98,7 @@ { struct nsm_handle *nsm; struct nsm_res res; - int status; + int status = 0; nsm = host->h_nsmhandle; host->h_nsmhandle = NULL; @@ -112,9 +112,8 @@ if (status < 0) printk(KERN_NOTICE "lockd: cannot unmonitor %s\n", host->h_name); - else - nsm->sm_monitored = 0; } + kfree(nsm); return status; } --- ./fs/lockd/statd.c.~1~ 2004-03-26 21:32:14.598598175 -0500 +++ ./fs/lockd/statd.c 2004-03-26 23:37:20.990970192 -0500 @@ -189,25 +189,6 @@ } /* - * Allocate an NSM handle - */ -struct nsm_handle * -nsm_alloc(struct sockaddr_in *sin) -{ - struct nsm_handle *nsm; - - nsm = (struct nsm_handle *) kmalloc(sizeof(*nsm), GFP_KERNEL); - if (nsm == NULL) - return NULL; - - memset(nsm, 0, sizeof(*nsm)); - memcpy(&nsm->sm_addr, sin, sizeof(nsm->sm_addr)); - atomic_set(&nsm->sm_count, 1); - - return nsm; -} - -/* * Set up monitoring of a remote host * Note we hold the semaphore for the host table while * we're here. --- ./net/ipmi/af_ipmi.c.~1~ 2004-03-26 21:32:27.148392509 -0500 +++ ./net/ipmi/af_ipmi.c 2004-03-26 22:03:34.077745113 -0500 @@ -515,7 +515,7 @@ { struct ipmi_sock *i; - if (atomic_read(&ipmi_nr_socks) >= 2*files_stat.max_files) + if (atomic_read(&ipmi_nr_socks) >= 2*files_stat.max_files_hard) return NULL; i = (struct ipmi_sock *)sk_alloc(PF_IPMI, GFP_KERNEL,