Message ID | CACVXFVNt2Png0a9qieoUzZ9o=wDw+SkR=T2XFcSVdgDKYZmhFw@mail.gmail.com |
---|---|
State | New |
Headers | show |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 19.03.2012 05:34, Ming Lei wrote: > From 18daf1644e634bae951a6e3d4d19d89170209762 Mon Sep 17 00:00:00 2001 > From: Peter Hurley <peter@hurleysoftware.com> Date: Fri, 13 Jan 2012 > 15:11:30 +0100 Subject: [Oneiric SRU][PATCH] Bluetooth: Fix l2cap conn > failures for ssp devices > > Commit 330605423c fixed l2cap conn establishment for non-ssp remote devices > by not setting HCI_CONN_ENCRYPT_PEND every time conn security is tested > (which was always returning failure on any subsequent security checks). > > However, this broke l2cap conn establishment for ssp remote devices when an > ACL link was already established at SDP-level security. This fix ensures > that encryption must be pending whenever authentication is also pending. > > BugLink: http://bugs.launchpad.net/bugs/872044 Upstream discusstion: > http://marc.info/?t=131292188200002&r=1&w=2 > I would not put the SRU justification into the commit message. > Impact: cannot send files to other BT device Fix: can send files to other > BT device > > > Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Tested-by: Daniel > Wagner <daniel.wagner@bmw-carit.de> Acked-by: Marcel Holtmann > <marcel@holtmann.org> Signed-off-by: Johan Hedberg > <johan.hedberg@intel.com> But add your s-o-b and use the generic cherry-pick format if it is one: (cherry-picked from 18daf1644e634bae951a6e3d4d19d89170209762 upstream) Signed-off-by: Ming Lei <ming.lei@canonical.com> Otherwise looks ok and we already have picked and applied it for Precise. Acked-by: Stefan Bader <stefan.bader@canonical.com> > --- This wasn't cc:ed stable@kernel.org, but was merged to 3.3-rc6 as > commit 18daf1644e634bae951a6e3d4d19d89170209762(Bluetooth: Fix l2cap conn > failures for ssp devices). --- net/bluetooth/hci_conn.c | 4 ++++ 1 files > changed, 4 insertions(+), 0 deletions(-) > > diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index > 3db4324..07bc69e 100644 --- a/net/bluetooth/hci_conn.c +++ > b/net/bluetooth/hci_conn.c @@ -635,6 +635,10 @@ static int > hci_conn_auth(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) > > if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->pend)) { struct > hci_cp_auth_requested cp; + + /* encrypt must be pending if auth is also > pending */ + set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend); + cp.handle = > cpu_to_le16(conn->handle); hci_send_cmd(conn->hdev, HCI_OP_AUTH_REQUESTED, > sizeof(cp), &cp); -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBCgAGBQJPZ0qAAAoJEOhnXe7L7s6j3V8QALvfq9TlvzxHJXIgWK/0hG9k SQ1reR7m2y0r+2tx+0WX9tQCiEuAl+ibbAV8TIEfsEkoGKj1+UJQAqk+YlRbEuJ1 eRwp6+S/zpHF0yFcBGQcUesMGptg+Isa6064n56+gcnHJHWlez//1DRcTuu3w66X Y3CGSJzHYLhW0VQVm/Zht0eXRpAa4tLKeHG+vit3Y8Rr5XGr0YyUj/uE4u++Unes 0z7tku77w5ZfrA8NnY7kiY9II13o/ctL82vEq9y73JS5fqk60exnY0yJ/paKaCEU 2W/5H+MIibjnyt7WykGTPTIMK9InF1GpZyiK4Y9414MBU4Dkx+nk4TD8cu+0GiFi VwI8oJwEJjMbjcYfdJX0VjveE2FqTIVFax7E4xCPuraWWwvlu55BHwOU+aC9/Lrb TElQK19WC0Ugy2PciSQ6DkX22/iIFDLalZ1+sDx0P2jMR70R5BZJlHIPPwJa5FcY RTC7ROiy3yaPc/GSWO4L6WfqYGS43uNzSTM4igmym17fB9viqM8eWz4p4V9OmjOj sr9qnXRrohH2iVfI1OozqHN9/qCW1B2rtPXbi6bmFyEiHNdDEBAj3+k46ppj6mBl tR+f0bhwZQ+lCHsBxxcGDkDD6K3u361VnNrANYN1HjNnTpc4ysZ+i1bc0F10Mx3Y neg3hoVsxFfB8pbp1Ftv =7B2W -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 19.03.2012 16:02, Stefan Bader wrote: > On 19.03.2012 05:34, Ming Lei wrote: >> From 18daf1644e634bae951a6e3d4d19d89170209762 Mon Sep 17 00:00:00 2001 >> From: Peter Hurley <peter@hurleysoftware.com> Date: Fri, 13 Jan 2012 >> 15:11:30 +0100 Subject: [Oneiric SRU][PATCH] Bluetooth: Fix l2cap conn >> failures for ssp devices > >> Commit 330605423c fixed l2cap conn establishment for non-ssp remote >> devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security is >> tested (which was always returning failure on any subsequent security >> checks). > >> However, this broke l2cap conn establishment for ssp remote devices when >> an ACL link was already established at SDP-level security. This fix >> ensures that encryption must be pending whenever authentication is also >> pending. > >> BugLink: http://bugs.launchpad.net/bugs/872044 Upstream discusstion: >> http://marc.info/?t=131292188200002&r=1&w=2 > > > I would not put the SRU justification into the commit message. > >> Impact: cannot send files to other BT device Fix: can send files to >> other BT device > > >> Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Tested-by: Daniel >> Wagner <daniel.wagner@bmw-carit.de> Acked-by: Marcel Holtmann >> <marcel@holtmann.org> Signed-off-by: Johan Hedberg >> <johan.hedberg@intel.com> > > But add your s-o-b and use the generic cherry-pick format if it is one: > > (cherry-picked from 18daf1644e634bae951a6e3d4d19d89170209762 upstream) > Signed-off-by: Ming Lei <ming.lei@canonical.com> > > Otherwise looks ok and we already have picked and applied it for Precise. > > Acked-by: Stefan Bader <stefan.bader@canonical.com> > >> --- This wasn't cc:ed stable@kernel.org, but was merged to 3.3-rc6 as >> commit 18daf1644e634bae951a6e3d4d19d89170209762(Bluetooth: Fix l2cap >> conn failures for ssp devices). --- net/bluetooth/hci_conn.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) > >> diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index >> 3db4324..07bc69e 100644 --- a/net/bluetooth/hci_conn.c +++ >> b/net/bluetooth/hci_conn.c @@ -635,6 +635,10 @@ static int >> hci_conn_auth(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) > >> if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->pend)) { struct >> hci_cp_auth_requested cp; + + /* encrypt must be pending if auth is >> also pending */ + set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend); + >> cp.handle = cpu_to_le16(conn->handle); hci_send_cmd(conn->hdev, >> HCI_OP_AUTH_REQUESTED, sizeof(cp), &cp); > > Btw, has this been pushed/persuaded to become an upstream stable change? - -Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBCgAGBQJPZ0sCAAoJEOhnXe7L7s6jcFkQALOfHl45LF8yvv89WPpU1Mtn 07Ba6DtSS0UIZLlbWdO1OxSc0SEOs+Mlr1CmgSJ6694PfB1UvgcNemBLsS/sWyKw /bCHT9EyyFIg/AK7xIO/klEOWKH90z0VbHdNRn1p/yjY/v+GKzpy3NyRYDBHYt5Y Z7o/Wpb2C+0xrj8PGmh9YM8fmjh8rhFHz/m+kHBicAqNaKf1B2DeT5Yvqjdm7BMB eJ9ZLL4RW0D8hVsleSad9bRPQA/ETajGG9tWZ+FrwePqnq+bph71j1NlGjfGb2tX 4LRZC8f3ffSCVKJqDur/cdMaR8G2LZpmpnOuwf+CeO6S8y9Ms6ttJVBgW4epD2+p 26mJEHCrtFo/UcxL/nd3+X6wr8gM808cRF49Oxr3ciLI6udXZjRwljLNvCm0VSCL Wg4gG/1f7+fBwrmJe6MxQsfLNFFhQu/SRVEaB5vVMfkz+vrvrw4D8mrNBnA+ETcE LMj/5+HHhzB3/feHkL+3uxqtizomEAUJYB2RjyX50UYVRCPwIAgONByY5LCWtlaV zq4uf+hVBcnlgOBgY71FghZ3suABZhkl2yj1JuYXDnS2wJpyghmN3bUokF3SzK5r egJrOO3XVVulKLILOmh1PmjxvMXXwvuM4bZhEGTiFSyZg85PIHS/OmRrSi0n8nOl Kz4vaX5WaCWr58Q7ODNT =rH2A -----END PGP SIGNATURE-----
Applied per Stefan's comments
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 3db4324..07bc69e 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c @@ -635,6 +635,10 @@ static int hci_conn_auth(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->pend)) { struct hci_cp_auth_requested cp; + + /* encrypt must be pending if auth is also pending */ + set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend); + cp.handle = cpu_to_le16(conn->handle); hci_send_cmd(conn->hdev, HCI_OP_AUTH_REQUESTED,