Message ID | 20200219144442.Bluez.v2.1.I145f6c5bbf2437a6f6afc28d3db2b876c034c2d8@changeid (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Marcel Holtmann |
Headers | show |
Series | [Bluez,v2] bluetooth: fix passkey uninitialized when used | expand |
On Tue, Feb 18, 2020 at 10:45 PM 'Howard Chung' via Clang Built Linux <clang-built-linux@googlegroups.com> wrote: > > This issue cause a warning here > https://groups.google.com/forum/#!topic/clang-built-linux/kyRKCjRsGoU > > Signed-off-by: Howard Chung <howardchung@google.com> It can be helpful to just include the text from the warning in the commit message, for future patches, then a "Link" tag (below) to the report. Also,if you use Marcel's suggestions, it's polite to add a `Suggested-by` tag. Link: https://groups.google.com/forum/#!topic/clang-built-linux/kyRKCjRsGoU Reported-by: kbuild test robot <lkp@intel.com> Acked-by: Nick Desaulniers <ndesaulniers@google.com> > > --- > > Changes in v2: > - refactor code > > net/bluetooth/smp.c | 19 ++++++++++--------- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c > index 50e0ac692ec4..929e0bebaf80 100644 > --- a/net/bluetooth/smp.c > +++ b/net/bluetooth/smp.c > @@ -2115,7 +2115,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) > struct l2cap_chan *chan = conn->smp; > struct smp_chan *smp = chan->data; > struct hci_conn *hcon = conn->hcon; > - u8 *pkax, *pkbx, *na, *nb; > + u8 *pkax, *pkbx, *na, *nb, confirm_hint; > u32 passkey; > int err; > > @@ -2179,13 +2179,12 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) > */ > if (hci_find_ltk(hcon->hdev, &hcon->dst, hcon->dst_type, > hcon->role)) { > - err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, > - hcon->type, > - hcon->dst_type, > - passkey, 1); > - if (err) > - return SMP_UNSPECIFIED; > - set_bit(SMP_FLAG_WAIT_USER, &smp->flags); > + /* Set passkey to 0. The value can be any number since > + * it'll be ignored anyway. > + */ > + passkey = 0; > + confirm_hint = 1; > + goto confirm; > } > } > > @@ -2206,9 +2205,11 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) > err = smp_g2(smp->tfm_cmac, pkax, pkbx, na, nb, &passkey); > if (err) > return SMP_UNSPECIFIED; > + confirm_hint = 0; > > +confirm: > err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, hcon->type, > - hcon->dst_type, passkey, 0); > + hcon->dst_type, passkey, confirm_hint); > if (err) > return SMP_UNSPECIFIED; > > --
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index 50e0ac692ec4..929e0bebaf80 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c @@ -2115,7 +2115,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) struct l2cap_chan *chan = conn->smp; struct smp_chan *smp = chan->data; struct hci_conn *hcon = conn->hcon; - u8 *pkax, *pkbx, *na, *nb; + u8 *pkax, *pkbx, *na, *nb, confirm_hint; u32 passkey; int err; @@ -2179,13 +2179,12 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) */ if (hci_find_ltk(hcon->hdev, &hcon->dst, hcon->dst_type, hcon->role)) { - err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, - hcon->type, - hcon->dst_type, - passkey, 1); - if (err) - return SMP_UNSPECIFIED; - set_bit(SMP_FLAG_WAIT_USER, &smp->flags); + /* Set passkey to 0. The value can be any number since + * it'll be ignored anyway. + */ + passkey = 0; + confirm_hint = 1; + goto confirm; } } @@ -2206,9 +2205,11 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) err = smp_g2(smp->tfm_cmac, pkax, pkbx, na, nb, &passkey); if (err) return SMP_UNSPECIFIED; + confirm_hint = 0; +confirm: err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, hcon->type, - hcon->dst_type, passkey, 0); + hcon->dst_type, passkey, confirm_hint); if (err) return SMP_UNSPECIFIED;
This issue cause a warning here https://groups.google.com/forum/#!topic/clang-built-linux/kyRKCjRsGoU Signed-off-by: Howard Chung <howardchung@google.com> --- Changes in v2: - refactor code net/bluetooth/smp.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)