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

Commit c4fe17e0 authored by Arun Kumar Neelakantam's avatar Arun Kumar Neelakantam Committed by Andy Gross
Browse files

soc: qcom: qmi_interface: Limit txn ids to U16_MAX



Txn IDs created up to INT_MAX cause overflow while storing
the IDs in u16 type supported by QMI header.

Limit the txn IDs max value to U16_MAX to avoid overflow.

Signed-off-by: default avatarArun Kumar Neelakantam <aneela@codeaurora.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent e0f2cfeb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -318,7 +318,7 @@ int qmi_txn_init(struct qmi_handle *qmi, struct qmi_txn *txn,
	txn->dest = c_struct;

	mutex_lock(&qmi->txn_lock);
	ret = idr_alloc_cyclic(&qmi->txns, txn, 0, INT_MAX, GFP_KERNEL);
	ret = idr_alloc_cyclic(&qmi->txns, txn, 0, U16_MAX, GFP_KERNEL);
	if (ret < 0)
		pr_err("failed to allocate transaction id\n");

+1 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ struct qmi_ops {
struct qmi_txn {
	struct qmi_handle *qmi;

	int id;
	u16 id;

	struct mutex lock;
	struct completion completion;