Message ID | 20221012074507.8157-1-soenke.huster@eknoes.de |
---|---|
State | Accepted |
Commit | 160fbcf3bfb93c3c086427f9f4c8bc70f217e9be |
Headers | show |
Series | [v2,RESEND] Bluetooth: virtio_bt: Use skb_put to set length | expand |
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=684698 ---Test result--- Test Summary: CheckPatch PASS 0.97 seconds GitLint PASS 0.50 seconds SubjectPrefix PASS 0.31 seconds BuildKernel PASS 47.90 seconds BuildKernel32 PASS 42.79 seconds Incremental Build with patchesPASS 62.39 seconds TestRunner: Setup PASS 702.33 seconds TestRunner: l2cap-tester PASS 21.62 seconds TestRunner: iso-tester PASS 22.65 seconds TestRunner: bnep-tester PASS 8.55 seconds TestRunner: mgmt-tester PASS 137.07 seconds TestRunner: rfcomm-tester PASS 13.42 seconds TestRunner: sco-tester PASS 12.48 seconds TestRunner: ioctl-tester PASS 14.80 seconds TestRunner: mesh-tester PASS 10.57 seconds TestRunner: smp-tester PASS 12.28 seconds TestRunner: userchan-tester PASS 8.83 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 Wed, 12 Oct 2022 09:45:06 +0200 you wrote: > By using skb_put we ensure that skb->tail is set > correctly. Currently, skb->tail is always zero, which > leads to errors, such as the following page fault in > rfcomm_recv_frame: > > BUG: unable to handle page fault for address: ffffed1021de29ff > #PF: supervisor read access in kernel mode > #PF: error_code(0x0000) - not-present page > RIP: 0010:rfcomm_run+0x831/0x4040 (net/bluetooth/rfcomm/core.c:1751) > > [...] Here is the summary with links: - [v2,RESEND] Bluetooth: virtio_bt: Use skb_put to set length https://git.kernel.org/bluetooth/bluetooth-next/c/6ab8872f1976 You are awesome, thank you!
diff --git a/drivers/bluetooth/virtio_bt.c b/drivers/bluetooth/virtio_bt.c index 67c21263f9e0..fd281d439505 100644 --- a/drivers/bluetooth/virtio_bt.c +++ b/drivers/bluetooth/virtio_bt.c @@ -219,7 +219,7 @@ static void virtbt_rx_work(struct work_struct *work) if (!skb) return; - skb->len = len; + skb_put(skb, len); virtbt_rx_handle(vbt, skb); if (virtbt_add_inbuf(vbt) < 0)
By using skb_put we ensure that skb->tail is set correctly. Currently, skb->tail is always zero, which leads to errors, such as the following page fault in rfcomm_recv_frame: BUG: unable to handle page fault for address: ffffed1021de29ff #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page RIP: 0010:rfcomm_run+0x831/0x4040 (net/bluetooth/rfcomm/core.c:1751) Fixes: afd2daa26c7a ("Bluetooth: Add support for virtio transport driver") Signed-off-by: Soenke Huster <soenke.huster@eknoes.de> --- v2: Add Fixes tag drivers/bluetooth/virtio_bt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)