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

Commit 71fedbea authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "qseecom: Removal of flags and options to protect listener memory"

parents 50b7ecb7 6a766ca4
Loading
Loading
Loading
Loading
+0 −47
Original line number Diff line number Diff line
@@ -1263,28 +1263,6 @@ static int qseecom_send_cmd(struct qseecom_dev_handle *data, void __user *argp)
	return ret;
}

static int qseecom_unprotect_buffer(void __user *argp)
{
	int ret = 0;
	struct ion_handle *ihandle;
	int32_t ion_fd;

	ret = copy_from_user(&ion_fd, argp, sizeof(ion_fd));
	if (ret) {
		pr_err("copy_from_user failed");
		return ret;
	}

	ihandle = ion_import_dma_buf(qseecom.ion_clnt, ion_fd);

	ret = msm_ion_unsecure_buffer(qseecom.ion_clnt, ihandle);
	if (ret)
		return -EINVAL;
	if (!IS_ERR_OR_NULL(ihandle))
		ion_free(qseecom.ion_clnt, ihandle);
	return 0;
}

static int __qseecom_update_cmd_buf(void *msg, bool cleanup,
					struct qseecom_dev_handle *data,
					bool listener_svc)
@@ -1333,21 +1311,6 @@ static int __qseecom_update_cmd_buf(void *msg, bool cleanup,
				pr_err("Ion client can't retrieve the handle\n");
				return -ENOMEM;
			}
			switch (lstnr_resp->protection_mode) {
			case QSEOS_PROTECT_BUFFER:
				 ret = msm_ion_secure_buffer(qseecom.ion_clnt,
								ihandle,
								VIDEO_PIXEL,
								0);
				break;
			case QSEOS_UNPROTECT_PROTECTED_BUFFER:
				ret = msm_ion_unsecure_buffer(qseecom.ion_clnt,
								ihandle);
				break;
			case QSEOS_UNPROTECTED_BUFFER:
			default:
				break;
			}
			field = lstnr_resp->resp_buf_ptr +
				lstnr_resp->ifd_data[i].cmd_buf_offset;
		} else {
@@ -3198,16 +3161,6 @@ static long qseecom_ioctl(struct file *file, unsigned cmd,
			pr_err("failed qseecom_send_mod_resp: %d\n", ret);
		break;
	}
	case QSEECOM_IOCTL_UNPROTECT_BUF: {
		/* Only one client allowed here at a time */
		atomic_inc(&data->ioctl_count);
		ret = qseecom_unprotect_buffer(argp);
		atomic_dec(&data->ioctl_count);
		wake_up_all(&data->abort_wq);
		if (ret)
			pr_err("failed qseecom_unprotect: %d\n", ret);
		break;
	}
	default:
		return -EINVAL;
	}
+0 −11
Original line number Diff line number Diff line
@@ -157,12 +157,6 @@ struct qseecom_is_es_activated_req {
	int is_activated; /* out */
};

enum qseecom_buffer_protection {
	QSEOS_UNPROTECTED_BUFFER,
	QSEOS_PROTECT_BUFFER,
	QSEOS_UNPROTECT_PROTECTED_BUFFER,
};

enum qseecom_bandwidth_request_mode {
	INACTIVE = 0,
	LOW,
@@ -181,7 +175,6 @@ struct qseecom_send_modfd_listener_resp {
	void *resp_buf_ptr; /* in */
	unsigned int resp_len; /* in */
	struct qseecom_ion_fd_info ifd_data[MAX_ION_FD]; /* in */
	enum qseecom_buffer_protection protection_mode; /* in */
};


@@ -251,10 +244,6 @@ struct qseecom_send_modfd_listener_resp {
#define QSEECOM_IOCTL_SEND_MODFD_RESP \
	_IOWR(QSEECOM_IOC_MAGIC, 21, struct qseecom_send_modfd_listener_resp)

#define QSEECOM_IOCTL_UNPROTECT_BUF \
	_IOWR(QSEECOM_IOC_MAGIC, 22, int)


#define QSEECOM_IOCTL_SET_BUS_SCALING_REQ \
	_IOWR(QSEECOM_IOC_MAGIC, 23, int)