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

Commit 3b374471 authored by c_mtharu's avatar c_mtharu Committed by Gerrit - the friendly Code Review server
Browse files

msm: ADSPRPC: use access_ok to validate pointers



Check the validity of the pointer in user space that you intend to
access. access_ok function simply checks that the address is likely
in user space, not in the kernel.

Change-Id: I936f73a2c2029f9e7ca12cc8fc06d0698e6710c0
Signed-off-by: default avatarTharun Kumar Merugu <mtharu@codeaurora.org>
parent 3ea59a37
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1654,12 +1654,19 @@ static int fastrpc_init_process(struct fastrpc_file *fl,
		inbuf.namelen = strlen(current->comm) + 1;
		inbuf.filelen = init->filelen;
		fl->pd = 1;

		if (!access_ok(0, (void const __user *)init->file,
				init->filelen))
			goto bail;
		if (init->filelen) {
			VERIFY(err, !fastrpc_mmap_create(fl, init->filefd, 0,
				init->file, init->filelen, mflags, &file));
			if (err)
				goto bail;
		}
		if (!access_ok(1, (void const __user *)init->mem,
				init->memlen))
			goto bail;
		inbuf.pageslen = 1;
		VERIFY(err, !fastrpc_mmap_create(fl, init->memfd, 0,
				init->mem, init->memlen, mflags, &mem));