diff mbox series

[v1] att: Check security level before setting

Message ID 20241120080447.233393-1-quic_jiaymao@quicinc.com (mailing list archive)
State New
Headers show
Series [v1] att: Check security level before setting | expand

Checks

Context Check Description
tedd_an/pre-ci_am fail error: patch failed: src/shared/att.c:727 error: src/shared/att.c: patch does not apply hint: Use 'git am --show-current-patch' to see the failed patch

Commit Message

Jiayang Mao Nov. 20, 2024, 8:04 a.m. UTC
bt_gatt_client_set_security could fail if the security level in
kernel is already BT_ATT_SECURITY_MEDIUM but long term key is not
ready. So, get and check the security level before setting it.

Signed-off-by: Jiayang Mao <quic_jiaymao@quicinc.com>
---
 src/shared/att.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

bluez.test.bot@gmail.com Nov. 20, 2024, 8:22 a.m. UTC | #1
This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----

error: patch failed: src/shared/att.c:727
error: src/shared/att.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch

Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz Nov. 20, 2024, 2:20 p.m. UTC | #2
Hi Jiayang,

On Wed, Nov 20, 2024 at 3:18 AM Jiayang Mao <quic_jiaymao@quicinc.com> wrote:
>
> bt_gatt_client_set_security could fail if the security level in
> kernel is already BT_ATT_SECURITY_MEDIUM but long term key is not
> ready. So, get and check the security level before setting it.

Ive already pushed a similar fix.

> Signed-off-by: Jiayang Mao <quic_jiaymao@quicinc.com>
> ---
>  src/shared/att.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/shared/att.c b/src/shared/att.c
> index 4a406f4b9..dabbdb431 100644
> --- a/src/shared/att.c
> +++ b/src/shared/att.c
> @@ -727,6 +727,9 @@ static bool bt_att_chan_set_security(struct bt_att_chan *chan, int level)
>  {
>         struct bt_security sec;
>
> +       if (level == bt_att_chan_get_security(chan))
> +               return true;
> +
>         if (chan->type == BT_ATT_LOCAL) {
>                 chan->sec_level = level;
>                 return true;
> --
> 2.25.1
>
>
Jiayang Mao Nov. 20, 2024, 2:37 p.m. UTC | #3
Hi Luiz,

On 2024/11/20 22:20, Luiz Augusto von Dentz wrote:
> Hi Jiayang,
> 
> On Wed, Nov 20, 2024 at 3:18 AM Jiayang Mao <quic_jiaymao@quicinc.com> wrote:
>>
>> bt_gatt_client_set_security could fail if the security level in
>> kernel is already BT_ATT_SECURITY_MEDIUM but long term key is not
>> ready. So, get and check the security level before setting it.
> 
> Ive already pushed a similar fix.

I just saw your fix. Thank you very much for the update!

> 
>> Signed-off-by: Jiayang Mao <quic_jiaymao@quicinc.com>
>> ---
>>   src/shared/att.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/src/shared/att.c b/src/shared/att.c
>> index 4a406f4b9..dabbdb431 100644
>> --- a/src/shared/att.c
>> +++ b/src/shared/att.c
>> @@ -727,6 +727,9 @@ static bool bt_att_chan_set_security(struct bt_att_chan *chan, int level)
>>   {
>>          struct bt_security sec;
>>
>> +       if (level == bt_att_chan_get_security(chan))
>> +               return true;
>> +
>>          if (chan->type == BT_ATT_LOCAL) {
>>                  chan->sec_level = level;
>>                  return true;
>> --
>> 2.25.1
>>
>>
> 
>
diff mbox series

Patch

diff --git a/src/shared/att.c b/src/shared/att.c
index 4a406f4b9..dabbdb431 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
@@ -727,6 +727,9 @@  static bool bt_att_chan_set_security(struct bt_att_chan *chan, int level)
 {
 	struct bt_security sec;
 
+	if (level == bt_att_chan_get_security(chan))
+		return true;
+
 	if (chan->type == BT_ATT_LOCAL) {
 		chan->sec_level = level;
 		return true;