瀏覽代碼

9p: fix sparse warnings

Several sparse warnings were introduced by patches accepted during the merge
window which weren't caught.  This patch fixes those warnings.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Eric Van Hensbergen 16 年之前
父節點
當前提交
e45c5405e1
共有 3 個文件被更改,包括 14 次插入12 次删除
  1. 1 0
      include/net/9p/client.h
  2. 1 0
      net/9p/client.c
  3. 12 12
      net/9p/protocol.c

+ 1 - 0
include/net/9p/client.h

@@ -182,6 +182,7 @@ struct p9_fid {
 	struct list_head dlist;	/* list of all fids attached to a dentry */
 };
 
+int p9_client_version(struct p9_client *);
 struct p9_client *p9_client_create(const char *dev_name, char *options);
 void p9_client_destroy(struct p9_client *clnt);
 void p9_client_disconnect(struct p9_client *clnt);

+ 1 - 0
net/9p/client.c

@@ -159,6 +159,7 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag)
 
 			if (!c->reqs[row]) {
 				printk(KERN_ERR "Couldn't grow tag array\n");
+				spin_unlock_irqrestore(&c->lock, flags);
 				return ERR_PTR(-ENOMEM);
 			}
 			for (col = 0; col < P9_ROW_MAXTAG; col++) {

+ 12 - 12
net/9p/protocol.c

@@ -186,7 +186,7 @@ p9pdu_vreadf(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
 			}
 			break;
 		case 's':{
-				char **ptr = va_arg(ap, char **);
+				char **sptr = va_arg(ap, char **);
 				int16_t len;
 				int size;
 
@@ -196,17 +196,17 @@ p9pdu_vreadf(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
 
 				size = MAX(len, 0);
 
-				*ptr = kmalloc(size + 1, GFP_KERNEL);
-				if (*ptr == NULL) {
+				*sptr = kmalloc(size + 1, GFP_KERNEL);
+				if (*sptr == NULL) {
 					errcode = -EFAULT;
 					break;
 				}
-				if (pdu_read(pdu, *ptr, size)) {
+				if (pdu_read(pdu, *sptr, size)) {
 					errcode = -EFAULT;
-					kfree(*ptr);
-					*ptr = NULL;
+					kfree(*sptr);
+					*sptr = NULL;
 				} else
-					(*ptr)[size] = 0;
+					(*sptr)[size] = 0;
 			}
 			break;
 		case 'Q':{
@@ -380,13 +380,13 @@ p9pdu_vwritef(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
 			}
 			break;
 		case 's':{
-				const char *ptr = va_arg(ap, const char *);
+				const char *sptr = va_arg(ap, const char *);
 				int16_t len = 0;
-				if (ptr)
-					len = MIN(strlen(ptr), USHORT_MAX);
+				if (sptr)
+					len = MIN(strlen(sptr), USHORT_MAX);
 
 				errcode = p9pdu_writef(pdu, optional, "w", len);
-				if (!errcode && pdu_write(pdu, ptr, len))
+				if (!errcode && pdu_write(pdu, sptr, len))
 					errcode = -EFAULT;
 			}
 			break;
@@ -426,7 +426,7 @@ p9pdu_vwritef(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
 		case 'U':{
 				int32_t count = va_arg(ap, int32_t);
 				const char __user *udata =
-						va_arg(ap, const void *);
+						va_arg(ap, const void __user *);
 				errcode =
 				    p9pdu_writef(pdu, optional, "d", count);
 				if (!errcode && pdu_write_u(pdu, udata, count))