Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3053600e authored by Dominique Martinet's avatar Dominique Martinet Committed by Eric Van Hensbergen
Browse files

9p: trans_fd, bail out if recv fcall if missing



req->rc is pre-allocated early on with p9_tag_alloc and shouldn't be missing

Signed-off-by: default avatarDominique Martinet <dominique.martinet@cea.fr>
Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
parent 947867aa
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -356,14 +356,13 @@ static void p9_read_work(struct work_struct *work)
		}

		if (m->req->rc == NULL) {
			m->req->rc = kmalloc(sizeof(struct p9_fcall) +
						m->client->msize, GFP_NOFS);
			if (!m->req->rc) {
			p9_debug(P9_DEBUG_ERROR,
				 "No recv fcall for tag %d (req %p), disconnecting!\n",
				 m->rc.tag, m->req);
			m->req = NULL;
				err = -ENOMEM;
			err = -EIO;
			goto error;
		}
		}
		m->rc.sdata = (char *)m->req->rc + sizeof(struct p9_fcall);
		memcpy(m->rc.sdata, m->tmp_buf, m->rc.capacity);
		m->rc.capacity = m->rc.size;