Commit 7b3bb3fe authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Eric Van Hensbergen

net/9p: Return error if we fail to encode protocol data

We need to return error in case we fail to encode data in protocol buffer.
This patch also return error in case of a failed copy_from_user.
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: default avatarVenkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
parent 877cb3d4
...@@ -579,6 +579,8 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...) ...@@ -579,6 +579,8 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...)
va_start(ap, fmt); va_start(ap, fmt);
err = p9pdu_vwritef(req->tc, c->proto_version, fmt, ap); err = p9pdu_vwritef(req->tc, c->proto_version, fmt, ap);
va_end(ap); va_end(ap);
if (err)
goto reterr;
p9pdu_finalize(req->tc); p9pdu_finalize(req->tc);
err = c->trans_mod->request(c, req); err = c->trans_mod->request(c, req);
......
...@@ -122,9 +122,8 @@ static size_t ...@@ -122,9 +122,8 @@ static size_t
pdu_write_u(struct p9_fcall *pdu, const char __user *udata, size_t size) pdu_write_u(struct p9_fcall *pdu, const char __user *udata, size_t size)
{ {
size_t len = MIN(pdu->capacity - pdu->size, size); size_t len = MIN(pdu->capacity - pdu->size, size);
int err = copy_from_user(&pdu->sdata[pdu->size], udata, len); if (copy_from_user(&pdu->sdata[pdu->size], udata, len))
if (err) len = 0;
printk(KERN_WARNING "pdu_write_u returning: %d\n", err);
pdu->size += len; pdu->size += len;
return size - len; return size - len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment