diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2013-12-03 09:51:51 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2013-12-05 07:05:34 -0800 |
commit | 3af8ace653c83c663d4b97c6ea7f01463d366bf9 (patch) | |
tree | a7e4ff16deb9b1a98f073b50eb653011ed736def | |
parent | fad5fc89594de31388572a26f33caa7c30a23782 (diff) | |
download | op-kernel-dev-3af8ace653c83c663d4b97c6ea7f01463d366bf9.zip op-kernel-dev-3af8ace653c83c663d4b97c6ea7f01463d366bf9.tar.gz |
Bluetooth: Reject LE CoC commands when the feature is not enabled
Since LE CoC support needs to be enabled through a module option for now
we need to reject any related signaling PDUs in addition to rejecting
the creation of LE CoC sockets (which we already do).
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r-- | net/bluetooth/l2cap_core.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 8a0d235..aaa98a2 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -5597,6 +5597,17 @@ static inline int l2cap_le_sig_cmd(struct l2cap_conn *conn, { int err = 0; + if (!enable_lecoc) { + switch (cmd->code) { + case L2CAP_LE_CONN_REQ: + case L2CAP_LE_CONN_RSP: + case L2CAP_LE_CREDITS: + case L2CAP_DISCONN_REQ: + case L2CAP_DISCONN_RSP: + return -EINVAL; + } + } + switch (cmd->code) { case L2CAP_COMMAND_REJ: break; |