diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2010-12-22 20:00:34 -0500 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2010-12-22 20:00:34 -0500 |
commit | 17f9cc3124c97f50a19a7597e5f29f915b5b835c (patch) | |
tree | f86d9d088a8ee73e94ff353526064cf58eeaf3eb /net/bluetooth | |
parent | 23bb57633df97ede067ea26f3cdc8a7ba2cd8109 (diff) |
Bluetooth: Improve handling of HCI control channel in bind
Does not allow any channel different of HCI_CHANNEL_RAW and
HCI_CHANNEL_CONTROL to bind.
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/hci_sock.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c index f6c18abab797..29827c77f6ce 100644 --- a/net/bluetooth/hci_sock.c +++ b/net/bluetooth/hci_sock.c | |||
@@ -380,7 +380,10 @@ static int hci_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_le | |||
380 | if (haddr.hci_family != AF_BLUETOOTH) | 380 | if (haddr.hci_family != AF_BLUETOOTH) |
381 | return -EINVAL; | 381 | return -EINVAL; |
382 | 382 | ||
383 | if (haddr.hci_channel != HCI_CHANNEL_RAW && !enable_mgmt) | 383 | if (haddr.hci_channel > HCI_CHANNEL_CONTROL) |
384 | return -EINVAL; | ||
385 | |||
386 | if (haddr.hci_channel == HCI_CHANNEL_CONTROL && !enable_mgmt) | ||
384 | return -EINVAL; | 387 | return -EINVAL; |
385 | 388 | ||
386 | lock_sock(sk); | 389 | lock_sock(sk); |