diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-08-15 20:43:46 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-08-15 20:43:46 +0200 |
commit | f85a6597a6ce33fe4f390744b2764b30aa7bfda8 (patch) | |
tree | 9b923afc20e7d3a7e78f98d600fd7e6633b4265b /fs/lockd/clntlock.c | |
parent | 140d37de62ffe8405282a1d6498f3b4099006384 (diff) | |
parent | 44ffb69ec617f64cd83182e8b64d93b84758d636 (diff) | |
download | linux-f85a6597a6ce33fe4f390744b2764b30aa7bfda8.tar.gz linux-f85a6597a6ce33fe4f390744b2764b30aa7bfda8.tar.xz |
Merge tag 'asoc-v3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.11
A few driver specific fixes here plus one core fix for a memory
corruption issue in DAPM initialisation which could lead to crashes.
Diffstat (limited to 'fs/lockd/clntlock.c')
-rw-r--r-- | fs/lockd/clntlock.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/fs/lockd/clntlock.c b/fs/lockd/clntlock.c index 01bfe7662751..41e491b8e5d7 100644 --- a/fs/lockd/clntlock.c +++ b/fs/lockd/clntlock.c @@ -64,12 +64,17 @@ struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init) nlm_init->protocol, nlm_version, nlm_init->hostname, nlm_init->noresvport, nlm_init->net); - if (host == NULL) { - lockd_down(nlm_init->net); - return ERR_PTR(-ENOLCK); - } + if (host == NULL) + goto out_nohost; + if (host->h_rpcclnt == NULL && nlm_bind_host(host) == NULL) + goto out_nobind; return host; +out_nobind: + nlmclnt_release_host(host); +out_nohost: + lockd_down(nlm_init->net); + return ERR_PTR(-ENOLCK); } EXPORT_SYMBOL_GPL(nlmclnt_init); |