net: qrtr: Broadcast messages only from control port

The broadcast node id should only be sent with the control port id.

Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Arun Kumar Neelakantam 2018-07-04 19:49:32 +05:30 committed by David S. Miller
parent a9ba23d48d
commit fdf5fd3975
1 changed files with 4 additions and 0 deletions

View File

@ -764,6 +764,10 @@ static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
node = NULL; node = NULL;
if (addr->sq_node == QRTR_NODE_BCAST) { if (addr->sq_node == QRTR_NODE_BCAST) {
enqueue_fn = qrtr_bcast_enqueue; enqueue_fn = qrtr_bcast_enqueue;
if (addr->sq_port != QRTR_PORT_CTRL) {
release_sock(sk);
return -ENOTCONN;
}
} else if (addr->sq_node == ipc->us.sq_node) { } else if (addr->sq_node == ipc->us.sq_node) {
enqueue_fn = qrtr_local_enqueue; enqueue_fn = qrtr_local_enqueue;
} else { } else {