aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorVignesh Viswanathan <quic_viswanat@quicinc.com>2023-07-14 11:28:46 +0530
committerDavid S. Miller <davem@davemloft.net>2023-07-17 09:02:30 +0100
commit69940b888e3502868efd1acf3719fd1af810c123 (patch)
treef6cae4950bbaf6b92c9ec782e8260364755b7292
parentnet: qrtr: ns: Change nodes radix tree to xarray (diff)
downloadwireguard-linux-69940b888e3502868efd1acf3719fd1af810c123.tar.xz
wireguard-linux-69940b888e3502868efd1acf3719fd1af810c123.zip
net: qrtr: Handle IPCR control port format of older targets
The destination port value in the IPCR control buffer on older targets is 0xFFFF. Handle the same by updating the dst_port to QRTR_PORT_CTRL. Signed-off-by: Vignesh Viswanathan <quic_viswanat@quicinc.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/qrtr/af_qrtr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/qrtr/af_qrtr.c b/net/qrtr/af_qrtr.c
index 78beb74146e7..41ece61eb57a 100644
--- a/net/qrtr/af_qrtr.c
+++ b/net/qrtr/af_qrtr.c
@@ -23,6 +23,8 @@
#define QRTR_EPH_PORT_RANGE \
XA_LIMIT(QRTR_MIN_EPH_SOCKET, QRTR_MAX_EPH_SOCKET)
+#define QRTR_PORT_CTRL_LEGACY 0xffff
+
/**
* struct qrtr_hdr_v1 - (I|R)PCrouter packet header version 1
* @version: protocol version
@@ -495,6 +497,9 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len)
goto err;
}
+ if (cb->dst_port == QRTR_PORT_CTRL_LEGACY)
+ cb->dst_port = QRTR_PORT_CTRL;
+
if (!size || len != ALIGN(size, 4) + hdrlen)
goto err;