Skip to content

libkrunfw: Add virtio-CAN driver support#115

Open
dorindabassey wants to merge 1 commit intocontainers:mainfrom
dorindabassey:cfg_candev
Open

libkrunfw: Add virtio-CAN driver support#115
dorindabassey wants to merge 1 commit intocontainers:mainfrom
dorindabassey:cfg_candev

Conversation

@dorindabassey
Copy link
Copy Markdown

Add virtio CAN driver patch v13 from upstream kernel mailing list to enable vhost-user CAN device support in libkrun. The driver implements a complete CAN bus interface over Virtio transport, supporting both CAN Classic and CAN-FD.

Changes:

  • Add patch 0027-can-virtio-Add-virtio-CAN-driver.patch (v13 from lore.kernel.org/virtualization)
  • Enable CAN kernel configs

Fixes:

  • Kernel 6.12 compatibility fix for can_priv structure access: change can.fd.data_bittiming to can.data_bittiming (struct layout changed in kernel 6.13+)
  • Fix FORTIFY_SOURCE panic in virtio_can_start_xmit: set can_tx_msg->tx_out.length before memcpy() to satisfy __counted_by_le() buffer bounds checking.

The driver has been tested with rust-vmm vhost-device-can backend.

Upstream patch authors:

Add virtio CAN driver patch v13 from upstream kernel mailing
list to enable vhost-user CAN device support in libkrun.
The driver implements a complete CAN bus interface over
Virtio transport, supporting both CAN Classic and CAN-FD.

Changes:
  - Add patch 0027-can-virtio-Add-virtio-CAN-driver.patch (v13
    from lore.kernel.org/virtualization)
  - Enable CAN kernel configs

Fixes:
  - Kernel 6.12 compatibility fix for can_priv structure access:
    change can.fd.data_bittiming to can.data_bittiming (struct
    layout changed in kernel 6.13+)
  - Fix FORTIFY_SOURCE panic in virtio_can_start_xmit: set
    can_tx_msg->tx_out.length before memcpy() to satisfy
    __counted_by_le() buffer bounds checking.

The driver has been tested with rust-vmm vhost-device-can backend.

Upstream patch authors:
- Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
- Harald Mommer <harald.mommer@oss.qualcomm.com>
- Mikhail Golubev-Ciuchea <mikhail.golubev-ciuchea@oss.qualcomm.com>

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant