Loading include/net/9p/client.h +1 −0 Original line number Diff line number Diff line Loading @@ -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); Loading net/9p/client.c +1 −0 Original line number Diff line number Diff line Loading @@ -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++) { Loading net/9p/protocol.c +12 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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':{ Loading Loading @@ -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; Loading Loading @@ -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)) Loading Loading
include/net/9p/client.h +1 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
net/9p/client.c +1 −0 Original line number Diff line number Diff line Loading @@ -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++) { Loading
net/9p/protocol.c +12 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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':{ Loading Loading @@ -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; Loading Loading @@ -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)) Loading