Message ID | 20200406185438.13576-1-sonnysasaka@chromium.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Marcel Holtmann |
Headers | show |
Series | Bluetooth: Simplify / fix return values from tk_request | expand |
Hi Sonny, > Some static checker run by 0day reports a variableScope warning. > > net/bluetooth/smp.c:870:6: warning: > The scope of the variable 'err' can be reduced. [variableScope] > > There is no need for two separate variables holding return values. > Stick with the existing variable. While at it, don't pre-initialize > 'ret' because it is set in each code path. > > tk_request() is supposed to return a negative error code on errors, > not a bluetooth return code. The calling code converts the return > value to SMP_UNSPECIFIED if needed. > > Fixes: 92516cd97fd4 ("Bluetooth: Always request for user confirmation for Just Works") > Cc: Sonny Sasaka <sonnysasaka@chromium.org> > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org> > --- > net/bluetooth/smp.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel
Thanks, Marcel. Thanks, Guenter for finding this out. On Tue, Apr 7, 2020 at 9:35 AM Marcel Holtmann <marcel@holtmann.org> wrote: > > Hi Sonny, > > > Some static checker run by 0day reports a variableScope warning. > > > > net/bluetooth/smp.c:870:6: warning: > > The scope of the variable 'err' can be reduced. [variableScope] > > > > There is no need for two separate variables holding return values. > > Stick with the existing variable. While at it, don't pre-initialize > > 'ret' because it is set in each code path. > > > > tk_request() is supposed to return a negative error code on errors, > > not a bluetooth return code. The calling code converts the return > > value to SMP_UNSPECIFIED if needed. > > > > Fixes: 92516cd97fd4 ("Bluetooth: Always request for user confirmation for Just Works") > > Cc: Sonny Sasaka <sonnysasaka@chromium.org> > > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > > Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org> > > --- > > net/bluetooth/smp.c | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > patch has been applied to bluetooth-next tree. > > Regards > > Marcel >
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index d0b695ee4..30e8626dd 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c @@ -854,8 +854,7 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth, struct l2cap_chan *chan = conn->smp; struct smp_chan *smp = chan->data; u32 passkey = 0; - int ret = 0; - int err; + int ret; /* Initialize key for JUST WORKS */ memset(smp->tk, 0, sizeof(smp->tk)); @@ -887,12 +886,12 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth, /* If Just Works, Continue with Zero TK and ask user-space for * confirmation */ if (smp->method == JUST_WORKS) { - err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, + ret = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, hcon->type, hcon->dst_type, passkey, 1); - if (err) - return SMP_UNSPECIFIED; + if (ret) + return ret; set_bit(SMP_FLAG_WAIT_USER, &smp->flags); return 0; }