[PW_SID:1091961] Bluetooth: hci_uart: serialize close flush with write_work#158
[PW_SID:1091961] Bluetooth: hci_uart: serialize close flush with write_work#158BluezTestBot wants to merge 6 commits into
Conversation
This patch adds workflow files for ci: [sync.yml] - The workflow file for scheduled work - Sync the repo with upstream repo and rebase the workflow branch - Review the patches in the patchwork and creates the PR if needed [ci.yml] - The workflow file for CI tasks - Run CI tests when PR is created Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
This replaces the bzcafe action with bluez/action-ci so we can maintain everything in the github bluez organization Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This attempts to sync every 5 minutes instead of 30. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
bluez/action-ci uses master as default branch for workflow which is incorrect for kernel Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
The CI action now creates individual GitHub Check Runs per test, which requires 'checks: write' permission on the GITHUB_TOKEN. Also make the pull_request trigger types explicit to include 'reopened', allowing CI to be retriggered by closing and reopening a PR.
hci_uart_close() calls hci_uart_flush(), and flush may free hu->tx_skb. At the same time, hci_uart_write_work() can still be running and access the same skb (for example through skb_pull()), which leads to a use-after-free. Fix this by canceling write_work before calling hci_uart_flush(), so the tx_skb lifetime is fully serialized against the TX worker. Reported-by: syzbot+da2717d5c64bf7975268@syzkaller.appspotmail.com Link: https://syzkaller.appspot.com/bug?extid=da2717d5c64bf7975268 Cc: stable@vger.kernel.org Signed-off-by: wuyankun <wuyankun@uniontech.com>
|
CheckPatch |
|
GitLint |
|
SubjectPrefix |
|
BuildKernel |
|
CheckAllWarning |
|
CheckSparse |
|
BuildKernel32 |
|
TestRunnerSetup |
|
IncrementalBuild |
5c3256e to
75a1a12
Compare
hci_uart_close() calls hci_uart_flush(), and flush may free hu->tx_skb.
At the same time, hci_uart_write_work() can still be running and access
the same skb (for example through skb_pull()), which leads to a
use-after-free.
Fix this by canceling write_work before calling hci_uart_flush(), so the
tx_skb lifetime is fully serialized against the TX worker.
Reported-by: syzbot+da2717d5c64bf7975268@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=da2717d5c64bf7975268
Cc: stable@vger.kernel.org
Signed-off-by: wuyankun wuyankun@uniontech.com
drivers/bluetooth/hci_ldisc.c | 3 +++
1 file changed, 3 insertions(+)