if (new != NULL) kfree(new); 
kfree(new); 
static struct nlm_lockowner *nlm_find_lockowner(struct nlm_host *host, fl_owner_t owner){	struct nlm_lockowner *res, *new = NULL;	spin_lock(&host->h_lock);	res = __nlm_find_lockowner(host, owner);	if (res == NULL) {		spin_unlock(&host->h_lock);		new = (struct nlm_lockowner *)kmalloc(sizeof(*new), GFP_KERNEL);		spin_lock(&host->h_lock);		res = __nlm_find_lockowner(host, owner);		if (res == NULL && new != NULL) {			res = new;			atomic_set(&new->count, 1);			new->owner = owner;			new->pid = __nlm_alloc_pid(host);			new->host = nlm_get_host(host);			list_add(&new->list, &host->h_lockowners);			new = NULL;		}	}	spin_unlock(&host->h_lock);	if (new != NULL)		kfree(new);	return res;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f99d49adf527fa6f7a9c42257fa76bca6b8df1e3/clntproc.c/clean/fs/lockd/clntproc.c