From dd35210e1e2cb46d6dba5c97f1bc3784c4f97998 Mon Sep 17 00:00:00 2001 From: Harshula Jayasuriya Date: Wed, 20 Feb 2008 10:56:56 +1100 Subject: sunrpc: GSS integrity and decryption failures should return GARBAGE_ARGS In function svcauth_gss_accept() (net/sunrpc/auth_gss/svcauth_gss.c) the code that handles GSS integrity and decryption failures should be returning GARBAGE_ARGS as specified in RFC 2203, sections 5.3.3.4.2 and 5.3.3.4.3. Reviewed-by: Greg Banks Signed-off-by: Harshula Jayasuriya Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'net/sunrpc/svc.c') diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 090af78d68b5..7efb5133eb71 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -921,8 +921,7 @@ svc_process(struct svc_rqst *rqstp) case SVC_OK: break; case SVC_GARBAGE: - rpc_stat = rpc_garbage_args; - goto err_bad; + goto err_garbage; case SVC_SYSERR: rpc_stat = rpc_system_err; goto err_bad; -- cgit v1.2.2 From c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 12 Mar 2008 14:04:25 -0700 Subject: net/sunrpc/svc.c: suppress unintialized var warning net/sunrpc/svc.c: In function '__svc_create_thread': net/sunrpc/svc.c:587: warning: 'oldmask.bits[0u]' may be used uninitialized in this function Cc: Neil Brown Cc: Trond Myklebust Cc: David S. Miller Cc: Tom Tucker Cc: Chuck Lever Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'net/sunrpc/svc.c') diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 7efb5133eb71..a6e68190e0d2 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -590,7 +590,7 @@ __svc_create_thread(svc_thread_fn func, struct svc_serv *serv, struct svc_rqst *rqstp; int error = -ENOMEM; int have_oldmask = 0; - cpumask_t oldmask; + cpumask_t uninitialized_var(oldmask); rqstp = svc_prepare_thread(serv, pool); if (IS_ERR(rqstp)) { -- cgit v1.2.2 From 8774282c4cef82695ccca8bd09976de5d6e49610 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Mon, 7 Apr 2008 16:45:37 -0400 Subject: SUNRPC: remove svc_create_thread() Now that the nfs4 callback thread uses the kthread API, there are no more users of svc_create_thread(). Remove it. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'net/sunrpc/svc.c') diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index a6e68190e0d2..e7b716c76366 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -618,16 +618,6 @@ out_thread: goto out; } -/* - * Create a thread in the default pool. Caller must hold BKL. - */ -int -svc_create_thread(svc_thread_fn func, struct svc_serv *serv) -{ - return __svc_create_thread(func, serv, &serv->sv_pools[0]); -} -EXPORT_SYMBOL(svc_create_thread); - /* * Choose a pool in which to create a new thread, for svc_set_num_threads */ -- cgit v1.2.2 From 50c8bb13eaaf345caf2e7966667ba1d3e4d68af2 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Mon, 14 Apr 2008 12:27:45 -0400 Subject: SUNRPC: Use unsigned index when looping over arrays Clean up: Suppress a harmless compiler warning in the RPC server related to array indices. ARRAY_SIZE() returns a size_t, so use unsigned type for a loop index when looping over arrays. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'net/sunrpc/svc.c') diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index e7b716c76366..bf46186ddf9f 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -534,8 +534,9 @@ svc_init_buffer(struct svc_rqst *rqstp, unsigned int size) static void svc_release_buffer(struct svc_rqst *rqstp) { - int i; - for (i=0; irq_pages); i++) + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(rqstp->rq_pages); i++) if (rqstp->rq_pages[i]) put_page(rqstp->rq_pages[i]); } -- cgit v1.2.2 From 0dc220f0815497858db539d27947f3ec83202ace Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Mon, 14 Apr 2008 12:27:52 -0400 Subject: SUNRPC: Use unsigned loop and array index in svc_init_buffer() Clean up: Suppress a harmless compiler warning. Index rq_pages[] with an unsigned type. Make "pages" unsigned as well, as it never represents a value less than zero. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields --- net/sunrpc/svc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'net/sunrpc/svc.c') diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index bf46186ddf9f..d74c2d269539 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -510,8 +510,7 @@ EXPORT_SYMBOL(svc_destroy); static int svc_init_buffer(struct svc_rqst *rqstp, unsigned int size) { - int pages; - int arghi; + unsigned int pages, arghi; pages = size / PAGE_SIZE + 1; /* extra page as we hold both request and reply. * We assume one is at most one page @@ -525,7 +524,7 @@ svc_init_buffer(struct svc_rqst *rqstp, unsigned int size) rqstp->rq_pages[arghi++] = p; pages--; } - return ! pages; + return pages == 0; } /* -- cgit v1.2.2