Message ID | 20230828200545.580103-1-luiz.dentz@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 2595dd981e7478108540095a81495c473ef47750 |
Headers | show |
Series | [v2] Bluetooth: ISO: Fix handling of listen for unicast | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/SubjectPrefix | success | Gitlint PASS |
tedd_an/BuildKernel | success | BuildKernel PASS |
tedd_an/CheckAllWarning | success | CheckAllWarning PASS |
tedd_an/CheckSparse | success | CheckSparse PASS |
tedd_an/CheckSmatch | success | CheckSparse PASS |
tedd_an/BuildKernel32 | success | BuildKernel32 PASS |
tedd_an/TestRunnerSetup | success | TestRunnerSetup PASS |
tedd_an/TestRunner_l2cap-tester | success | TestRunner PASS |
tedd_an/TestRunner_iso-tester | success | TestRunner PASS |
tedd_an/TestRunner_bnep-tester | success | TestRunner PASS |
tedd_an/TestRunner_mgmt-tester | success | TestRunner PASS |
tedd_an/TestRunner_rfcomm-tester | success | TestRunner PASS |
tedd_an/TestRunner_sco-tester | success | TestRunner PASS |
tedd_an/TestRunner_ioctl-tester | success | TestRunner PASS |
tedd_an/TestRunner_mesh-tester | success | TestRunner PASS |
tedd_an/TestRunner_smp-tester | success | TestRunner PASS |
tedd_an/TestRunner_userchan-tester | success | TestRunner PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=780043 ---Test result--- Test Summary: CheckPatch PASS 0.80 seconds GitLint PASS 0.38 seconds SubjectPrefix PASS 0.14 seconds BuildKernel PASS 40.26 seconds CheckAllWarning PASS 43.02 seconds CheckSparse PASS 49.13 seconds CheckSmatch PASS 132.29 seconds BuildKernel32 PASS 38.42 seconds TestRunnerSetup PASS 578.01 seconds TestRunner_l2cap-tester PASS 32.91 seconds TestRunner_iso-tester PASS 71.51 seconds TestRunner_bnep-tester PASS 12.99 seconds TestRunner_mgmt-tester PASS 256.16 seconds TestRunner_rfcomm-tester PASS 19.73 seconds TestRunner_sco-tester PASS 23.00 seconds TestRunner_ioctl-tester PASS 22.33 seconds TestRunner_mesh-tester PASS 16.91 seconds TestRunner_smp-tester PASS 17.63 seconds TestRunner_userchan-tester PASS 14.12 seconds IncrementalBuild PASS 36.69 seconds --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Mon, 28 Aug 2023 13:05:45 -0700 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > iso_listen_cis shall only return -EADDRINUSE if the listening socket has > the destination set to BDADDR_ANY otherwise if the destination is set to > a specific address it is for broadcast which shall be ignored. > > Fixes: f764a6c2c1e4 ("Bluetooth: ISO: Add broadcast support") > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > [...] Here is the summary with links: - [v2] Bluetooth: ISO: Fix handling of listen for unicast https://git.kernel.org/bluetooth/bluetooth-next/c/2595dd981e74 You are awesome, thank you!
diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c index 16da946f5881..71248163ce9a 100644 --- a/net/bluetooth/iso.c +++ b/net/bluetooth/iso.c @@ -502,7 +502,7 @@ static void iso_recv_frame(struct iso_conn *conn, struct sk_buff *skb) } /* -------- Socket interface ---------- */ -static struct sock *__iso_get_sock_listen_by_addr(bdaddr_t *ba) +static struct sock *__iso_get_sock_listen_by_addr(bdaddr_t *src, bdaddr_t *dst) { struct sock *sk; @@ -510,7 +510,10 @@ static struct sock *__iso_get_sock_listen_by_addr(bdaddr_t *ba) if (sk->sk_state != BT_LISTEN) continue; - if (!bacmp(&iso_pi(sk)->src, ba)) + if (bacmp(&iso_pi(sk)->dst, dst)) + continue; + + if (!bacmp(&iso_pi(sk)->src, src)) return sk; } @@ -952,7 +955,7 @@ static int iso_listen_cis(struct sock *sk) write_lock(&iso_sk_list.lock); - if (__iso_get_sock_listen_by_addr(&iso_pi(sk)->src)) + if (__iso_get_sock_listen_by_addr(&iso_pi(sk)->src, &iso_pi(sk)->dst)) err = -EADDRINUSE; write_unlock(&iso_sk_list.lock);