public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] nfs4: fix comments in discover_server_trunking
       [not found] <1390189537-9666-1-git-send-email-dros@primarydata.com>
@ 2014-01-20  3:45 ` Weston Andros Adamson
  2014-01-20  4:20   ` Weston Andros Adamson
  2014-01-20 23:32 ` [PATCH 1/2] nfs4: fix discover_server_trunking use after free Trond Myklebust
  1 sibling, 1 reply; 4+ messages in thread
From: Weston Andros Adamson @ 2014-01-20  3:45 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs, Weston Andros Adamson

'result' is not updated if a match isn't found in the
nfs4_discover_server_trunking path.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
---
 fs/nfs/nfs4client.c | 4 ++--
 fs/nfs/nfs4state.c  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index 0f9b772..147a752 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -465,7 +465,7 @@ static void nfs4_swap_callback_idents(struct nfs_client *keep,
  * nfs40_walk_client_list - Find server that recognizes a client ID
  *
  * @new: nfs_client with client ID to test
- * @result: OUT: found nfs_client, or new
+ * @result: OUT: found nfs_client
  * @cred: credential to use for trunking test
  *
  * Returns zero, a negative errno, or a negative NFS4ERR status.
@@ -601,7 +601,7 @@ out_major_mismatch:
  * nfs41_walk_client_list - Find nfs_client that matches a client/server owner
  *
  * @new: nfs_client with client ID to test
- * @result: OUT: found nfs_client, or new
+ * @result: OUT: found nfs_client
  * @cred: credential to use for trunking test
  *
  * Returns zero, a negative errno, or a negative NFS4ERR status.
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index e5be725..666512e 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -328,7 +328,7 @@ out:
  * nfs41_discover_server_trunking - Detect server IP address trunking (mv1)
  *
  * @clp: nfs_client under test
- * @result: OUT: found nfs_client, or clp
+ * @result: OUT: found nfs_client
  * @cred: credential to use for trunking test
  *
  * Returns NFS4_OK, a negative errno, or a negative NFS4ERR status.
-- 
1.8.3.4 (Apple Git-47)


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

* Re: [PATCH 2/2] nfs4: fix comments in discover_server_trunking
  2014-01-20  3:45 ` [PATCH 2/2] nfs4: fix comments in discover_server_trunking Weston Andros Adamson
@ 2014-01-20  4:20   ` Weston Andros Adamson
  0 siblings, 0 replies; 4+ messages in thread
From: Weston Andros Adamson @ 2014-01-20  4:20 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: linux-nfs list

Ignore this patch. I misunderstood the meaning of the original comments...

-dros

On Jan 19, 2014, at 10:45 PM, Weston Andros Adamson <dros@primarydata.com> wrote:

> 'result' is not updated if a match isn't found in the
> nfs4_discover_server_trunking path.
> 
> Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
> ---
> fs/nfs/nfs4client.c | 4 ++--
> fs/nfs/nfs4state.c  | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
> index 0f9b772..147a752 100644
> --- a/fs/nfs/nfs4client.c
> +++ b/fs/nfs/nfs4client.c
> @@ -465,7 +465,7 @@ static void nfs4_swap_callback_idents(struct nfs_client *keep,
>  * nfs40_walk_client_list - Find server that recognizes a client ID
>  *
>  * @new: nfs_client with client ID to test
> - * @result: OUT: found nfs_client, or new
> + * @result: OUT: found nfs_client
>  * @cred: credential to use for trunking test
>  *
>  * Returns zero, a negative errno, or a negative NFS4ERR status.
> @@ -601,7 +601,7 @@ out_major_mismatch:
>  * nfs41_walk_client_list - Find nfs_client that matches a client/server owner
>  *
>  * @new: nfs_client with client ID to test
> - * @result: OUT: found nfs_client, or new
> + * @result: OUT: found nfs_client
>  * @cred: credential to use for trunking test
>  *
>  * Returns zero, a negative errno, or a negative NFS4ERR status.
> diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
> index e5be725..666512e 100644
> --- a/fs/nfs/nfs4state.c
> +++ b/fs/nfs/nfs4state.c
> @@ -328,7 +328,7 @@ out:
>  * nfs41_discover_server_trunking - Detect server IP address trunking (mv1)
>  *
>  * @clp: nfs_client under test
> - * @result: OUT: found nfs_client, or clp
> + * @result: OUT: found nfs_client
>  * @cred: credential to use for trunking test
>  *
>  * Returns NFS4_OK, a negative errno, or a negative NFS4ERR status.
> -- 
> 1.8.3.4 (Apple Git-47)
> 


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

* Re: [PATCH 1/2] nfs4: fix discover_server_trunking use after free
       [not found] <1390189537-9666-1-git-send-email-dros@primarydata.com>
  2014-01-20  3:45 ` [PATCH 2/2] nfs4: fix comments in discover_server_trunking Weston Andros Adamson
@ 2014-01-20 23:32 ` Trond Myklebust
  2014-01-21 15:04   ` Weston Andros Adamson
  1 sibling, 1 reply; 4+ messages in thread
From: Trond Myklebust @ 2014-01-20 23:32 UTC (permalink / raw)
  To: Adamson Weston Andros; +Cc: linux-nfs


On Jan 19, 2014, at 20:45, Weston Andros Adamson <dros@primarydata.com> wrote:

> If clp is new (cl_count = 1) and it matches another client in
> nfs4_discover_server_trunking, the nfs_put_client will free clp before
> ->cl_preserve_clid is set.
> 
> Cc: stable@vger.kernel.org # 3.7+
> Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
> ---
> fs/nfs/nfs4client.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
> index c1b7a80..0f9b772 100644
> --- a/fs/nfs/nfs4client.c
> +++ b/fs/nfs/nfs4client.c
> @@ -414,11 +414,12 @@ struct nfs_client *nfs4_init_client(struct nfs_client *clp,
> 	error = nfs4_discover_server_trunking(clp, &old);
> 	if (error < 0)
> 		goto error;
> -	nfs_put_client(clp);
> -	if (clp != old) {
> +
> +	if (clp != old)
> 		clp->cl_preserve_clid = true;
> +	nfs_put_client(clp);
> +	if (clp != old)
> 		clp = old;
> -	}
> 

Applied, but I cleaned it up by replacing the last 2 lines with an equivalent ‘return old’...

--
Trond Myklebust
Linux NFS client maintainer


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

* Re: [PATCH 1/2] nfs4: fix discover_server_trunking use after free
  2014-01-20 23:32 ` [PATCH 1/2] nfs4: fix discover_server_trunking use after free Trond Myklebust
@ 2014-01-21 15:04   ` Weston Andros Adamson
  0 siblings, 0 replies; 4+ messages in thread
From: Weston Andros Adamson @ 2014-01-21 15:04 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: linux-nfs list

On Jan 20, 2014, at 6:32 PM, Trond Myklebust <trond.myklebust@primarydata.com> wrote:

> 
> On Jan 19, 2014, at 20:45, Weston Andros Adamson <dros@primarydata.com> wrote:
> 
>> If clp is new (cl_count = 1) and it matches another client in
>> nfs4_discover_server_trunking, the nfs_put_client will free clp before
>> ->cl_preserve_clid is set.
>> 
>> Cc: stable@vger.kernel.org # 3.7+
>> Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
>> ---
>> fs/nfs/nfs4client.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>> 
>> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
>> index c1b7a80..0f9b772 100644
>> --- a/fs/nfs/nfs4client.c
>> +++ b/fs/nfs/nfs4client.c
>> @@ -414,11 +414,12 @@ struct nfs_client *nfs4_init_client(struct nfs_client *clp,
>> 	error = nfs4_discover_server_trunking(clp, &old);
>> 	if (error < 0)
>> 		goto error;
>> -	nfs_put_client(clp);
>> -	if (clp != old) {
>> +
>> +	if (clp != old)
>> 		clp->cl_preserve_clid = true;
>> +	nfs_put_client(clp);
>> +	if (clp != old)
>> 		clp = old;
>> -	}
>> 
> 
> Applied, but I cleaned it up by replacing the last 2 lines with an equivalent ‘return old’…

Cool, I almost posted that, but thought this change was a “cleaner” diff.

-dros

> 
> --
> Trond Myklebust
> Linux NFS client maintainer
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

end of thread, other threads:[~2014-01-21 15:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1390189537-9666-1-git-send-email-dros@primarydata.com>
2014-01-20  3:45 ` [PATCH 2/2] nfs4: fix comments in discover_server_trunking Weston Andros Adamson
2014-01-20  4:20   ` Weston Andros Adamson
2014-01-20 23:32 ` [PATCH 1/2] nfs4: fix discover_server_trunking use after free Trond Myklebust
2014-01-21 15:04   ` Weston Andros Adamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox