diff options
author | Vinicius Costa Gomes <vinicius.gomes@openbossa.org> | 2011-07-08 18:31:46 -0300 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-07-08 18:39:31 -0300 |
commit | 8f360119243c214eb5c5549c61981d51a276154a (patch) | |
tree | fc5fce3d33d7cfcbf4326936f35e2382473b334c /net/bluetooth | |
parent | 726b4ffcaa450d9593b9b6ac8605967ce9f3e506 (diff) | |
download | linux-3.10-8f360119243c214eb5c5549c61981d51a276154a.tar.gz linux-3.10-8f360119243c214eb5c5549c61981d51a276154a.tar.bz2 linux-3.10-8f360119243c214eb5c5549c61981d51a276154a.zip |
Bluetooth: Add support for returning the encryption key size
This will be useful when userspace wants to restrict some kinds of
operations based on the length of the key size used to encrypt the
link.
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/l2cap_sock.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 146b614d10e..5c36b3e8739 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c @@ -422,8 +422,12 @@ static int l2cap_sock_getsockopt(struct socket *sock, int level, int optname, ch break; } + memset(&sec, 0, sizeof(sec)); sec.level = chan->sec_level; + if (sk->sk_state == BT_CONNECTED) + sec.key_size = chan->conn->hcon->enc_key_size; + len = min_t(unsigned int, len, sizeof(sec)); if (copy_to_user(optval, (char *) &sec, len)) err = -EFAULT; |