From 595a69dbc87df2fbc8604734d56cb354447c945c Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 22 Jan 2007 22:00:45 +0100 Subject: [PATCH] --- yaml --- r: 45788 b: refs/heads/master c: 847641d7db15ac3f18b3d4aa05479812abdf397a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/bluetooth/l2cap.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7426f21739e0..907dae0a2008 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7386397636d49cd5f03da29432467d3e98cbad35 +refs/heads/master: 847641d7db15ac3f18b3d4aa05479812abdf397a diff --git a/trunk/net/bluetooth/l2cap.c b/trunk/net/bluetooth/l2cap.c index be5a6e60a3c4..f8c25d500155 100644 --- a/trunk/net/bluetooth/l2cap.c +++ b/trunk/net/bluetooth/l2cap.c @@ -585,6 +585,12 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_ goto done; } + if (la->l2_psm > 0 && btohs(la->l2_psm) < 0x1001 && + !capable(CAP_NET_BIND_SERVICE)) { + err = -EACCES; + goto done; + } + write_lock_bh(&l2cap_sk_list.lock); if (la->l2_psm && __l2cap_get_sock_by_addr(la->l2_psm, &la->l2_bdaddr)) {