aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/virtio/virtio_ring.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-27virtio: fix kernel-doc for mapping/free_coherent functionsKriish Sharma1-3/+4
2025-10-04Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-169/+290
2025-10-01virtio: introduce map ops in virtio coreJason Wang1-42/+169
2025-10-01virtio_ring: rename dma_handle to map_handleJason Wang1-6/+6
2025-10-01virtio: introduce virtio_map container unionJason Wang1-51/+53
2025-10-01virtio: rename dma helpersJason Wang1-57/+57
2025-10-01virtio_ring: switch to use dma_{map|unmap}_page()Jason Wang1-32/+23
2025-10-01virtio_ring: constify virtqueue pointer for DMA helpersJason Wang1-12/+13
2025-09-12kmsan: convert kmsan_handle_dma to use physical addressesLeon Romanovsky1-2/+2
2025-08-01virtio: document ENOSPCMichael S. Tsirkin1-0/+4
2025-07-03virtio_ring: Fix error reporting in virtqueue_resizeLaurent Vivier1-2/+6
2025-04-14virtio_ring: Fix data race by tagging event_triggered as racy for KCSANZhongqiu Han1-1/+1
2024-12-10virtio_ring: add a func argument 'recycle_done' to virtqueue_reset()Koichiro Den1-1/+5
2024-12-10virtio_ring: add a func argument 'recycle_done' to virtqueue_resize()Koichiro Den1-1/+5
2024-11-27Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-106/+119
2024-11-15virtio_ring: remove API virtqueue_set_dma_premappedXuan Zhuo1-48/+0
2024-11-15virtio_ring: introduce add api for premappedXuan Zhuo1-0/+48
2024-11-15virtio_ring: perform premapped operations based on per-bufferXuan Zhuo1-48/+53
2024-11-15virtio_ring: packed: record extras for indirect buffersXuan Zhuo1-24/+36
2024-11-15virtio_ring: split: record extras for indirect buffersXuan Zhuo1-60/+52
2024-11-15virtio_ring: introduce vring_need_unmap_bufferXuan Zhuo1-15/+12
2024-11-12virtio: Make vring_new_virtqueue support packed vringWenyu Huang1-106/+121
2024-09-25virtio_ring: tag event_triggered as racy for KCSANMichael S. Tsirkin1-1/+1
2024-07-09virtio: add missing MODULE_DESCRIPTION() macrosJeff Johnson1-0/+1
2024-07-04virtio_ring: fix KMSAN error for premapped modeXuan Zhuo1-1/+3
2024-05-13virtio_ring: enable premapped mode whatever use_dma_apiXuan Zhuo1-6/+1
2024-03-19virtio: packed: fix unmap leak for indirect desc tableXuan Zhuo1-3/+3
2023-12-04virtio_ring: fix syncs DMA memory with different directionXuan Zhuo1-4/+2
2023-09-03virtio_ring: fix avail_wrap_counter in virtqueue_add_packedYuan Yao1-1/+1
2023-09-03virtio_ring: introduce dma sync api for virtqueueXuan Zhuo1-0/+76
2023-09-03virtio_ring: introduce dma map api for virtqueueXuan Zhuo1-0/+69
2023-09-03virtio_ring: introduce virtqueue_reset()Xuan Zhuo1-0/+33
2023-09-03virtio_ring: separate the logic of reset/enable from virtqueue_resizeXuan Zhuo1-19/+39
2023-09-03virtio_ring: correct the expression of the description of virtqueue_resize()Xuan Zhuo1-1/+1
2023-09-03virtio_ring: skip unmap for premappedXuan Zhuo1-14/+28
2023-09-03virtio_ring: introduce virtqueue_dma_dev()Xuan Zhuo1-0/+17
2023-09-03virtio_ring: support add premapped bufXuan Zhuo1-2/+17
2023-09-03virtio_ring: introduce virtqueue_set_dma_premapped()Xuan Zhuo1-0/+53
2023-09-03virtio_ring: put mapping error check in vring_map_one_sgXuan Zhuo1-15/+22
2023-09-03virtio_ring: check use_dma_api before unmap desc for indirectXuan Zhuo1-2/+4
2023-04-21virtio: add VIRTIO_F_NOTIFICATION_DATA feature supportViktor Prutyanov1-0/+19
2023-04-21virtio_ring: don't update event idx on get_bufAlbert Huang1-6/+16
2023-04-21virtio_ring: Use const to annotate read-only pointer paramsFeng Liu1-18/+18
2023-04-21virtio_ring: Avoid using inline for small functionsFeng Liu1-7/+7
2023-02-20virtio_ring: per virtqueue dma deviceJason Wang1-40/+93
2022-12-28virtio_ring: use helper function is_power_of_2()Shaoqin Huang1-1/+1
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+9
2022-10-07virtio_ring: make vring_alloc_queue_packed prettierDeming Wang1-3/+3
2022-10-07virtio_ring: split: Operators use unified styleDeming Wang1-1/+1
2022-10-03virtio: kmsan: check/unpoison scatterlist in vring_map_one_sg()Alexander Potapenko1-1/+9
2022-08-16virtio: kerneldocs fixes and enhancementsRicardo CaƱuelo1-0/+8
2022-08-11virtio_ring: struct virtqueue introduce resetXuan Zhuo1-0/+2
2022-08-11virtio: allow to unbreak/break virtqueue individuallyXuan Zhuo1-0/+24
2022-08-11virtio_ring: introduce virtqueue_resize()Xuan Zhuo1-0/+69
2022-08-11virtio_ring: packed: introduce virtqueue_resize_packed()Xuan Zhuo1-0/+30
2022-08-11virtio_ring: packed: introduce virtqueue_reinit_packed()Xuan Zhuo1-0/+12
2022-08-11virtio_ring: packed: extract the logic of attach vringXuan Zhuo1-15/+10
2022-08-11virtio_ring: packed: extract the logic of vring initXuan Zhuo1-11/+17
2022-08-11virtio_ring: packed: extract the logic of alloc state and extraXuan Zhuo1-14/+34
2022-08-11virtio_ring: packed: extract the logic of alloc queueXuan Zhuo1-29/+51
2022-08-11virtio_ring: packed: introduce vring_free_packedXuan Zhuo1-0/+22
2022-08-11virtio_ring: split: introduce virtqueue_resize_split()Xuan Zhuo1-0/+34
2022-08-11virtio_ring: split: reserve vring_align, may_reduce_numXuan Zhuo1-0/+10
2022-08-11virtio_ring: split: introduce virtqueue_reinit_split()Xuan Zhuo1-0/+23
2022-08-11virtio_ring: split: extract the logic of attach vringXuan Zhuo1-13/+10
2022-08-11virtio_ring: split: extract the logic of vring initXuan Zhuo1-10/+21
2022-08-11virtio_ring: split: extract the logic of alloc state and extraXuan Zhuo1-16/+36
2022-08-11virtio_ring: split: extract the logic of alloc queueXuan Zhuo1-25/+40
2022-08-11virtio_ring: split: introduce vring_free_split()Xuan Zhuo1-0/+11
2022-08-11virtio_ring: split: __vring_new_virtqueue() accept struct vring_virtqueue_splitXuan Zhuo1-14/+15
2022-08-11virtio_ring: split: stop __vring_new_virtqueue as export symbolXuan Zhuo1-9/+16
2022-08-11virtio_ring: introduce virtqueue_init()Xuan Zhuo1-16/+22
2022-08-11virtio_ring: split vring_virtqueueXuan Zhuo1-56/+60
2022-08-11virtio_ring: extract the logic of freeing vringXuan Zhuo1-5/+13
2022-08-11virtio_ring: update the document of the virtqueue_detach_unused_buf for queue...Xuan Zhuo1-2/+2
2022-08-11virtio_ring: remove the arg vq of vring_alloc_desc_extra()Xuan Zhuo1-4/+3
2022-06-27virtio_ring: make vring_create_virtqueue_split prettierDeming Wang1-1/+1
2022-06-24virtio: disable notification hardening by defaultJason Wang1-0/+12
2022-06-24virtio_ring : keep used_wrap_counter in vq->last_used_idxhuangjie.albert1-28/+47
2022-05-31virtio: harden vring IRQJason Wang1-4/+7
2022-05-31virtio: allow to unbreak virtqueueJason Wang1-0/+22
2022-05-31virtio: Replace unsigned with unsigned intSolomon Tan1-6/+6
2022-05-31virtio_ring: add unlikely annotation for free descs checkXianting Tian1-1/+1
2022-05-31virtio_ring: remove unnecessary to_vvq call in vring hot pathXianting Tian1-5/+3
2022-03-28virtio_ring: remove flags check for unmap packed indirect descXuan Zhuo1-13/+5
2022-03-28virtio_ring: remove flags check for unmap split indirect descXuan Zhuo1-13/+5
2022-03-28virtio_ring: rename vring_unmap_state_packed() to vring_unmap_extra_packed()Xuan Zhuo1-9/+8
2022-01-14virtio_ring: mark ring unused on errorMichael S. Tsirkin1-1/+3
2021-12-08virtio_ring: Fix querying of maximum DMA mapping size for virtio deviceWill Deacon1-1/+1
2021-11-24Revert "virtio_ring: validate used buffer length"Michael S. Tsirkin1-60/+0
2021-11-01virtio_ring: validate used buffer lengthJason Wang1-0/+60
2021-11-01virtio_ring: fix typos in vring_desc_extraJason Wang1-2/+2
2021-11-01virtio_ring: check desc == NULL when using indirect with packedXuan Zhuo1-3/+11
2021-11-01virtio_ring: make virtqueue_add_indirect_packed prettierXuan Zhuo1-6/+6
2021-10-27virtio-ring: fix DMA metadata flagsVincent Whitchurch1-1/+1
2021-08-11virtio_ring: pull in spinlock headerMichael S. Tsirkin1-0/+1
2021-08-10virtio: Protect vqs list accessParav Pandit1-0/+8
2021-08-10virtio: Keep vring_del_virtqueue() mirror of VQ createParav Pandit1-1/+2
2021-08-10virtio: Improve vq->broken access to avoid any compiler optimizationParav Pandit1-2/+4
2021-07-08virtio-ring: store DMA metadata in desc_extra for split virtqueueJason Wang1-25/+87
2021-07-08virtio: use err label in __vring_new_virtqueue()Jason Wang1-4/+6
2021-07-08virtio_ring: introduce virtqueue_desc_add_split()Jason Wang1-15/+24
2021-07-08virtio_ring: secure handling of mapping errorsJason Wang1-1/+4
2021-07-08virtio-ring: factor out desc_extra allocationJason Wang1-10/+20
2021-07-08virtio_ring: rename vring_desc_extra_packedJason Wang1-5/+5
2021-07-08virtio-ring: maintain next in extra state for packed virtqueueJason Wang1-7/+8
2021-07-03virtio: fix up virtio_disable_cbMichael S. Tsirkin1-1/+25
2021-07-03virtio_ring: Fix kernel-docYang Li1-1/+1
2020-12-18virtio_ring: Fix two use after free bugsDan Carpenter1-2/+2
2020-12-18virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()Dan Carpenter1-2/+2
2020-08-11Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-2/+5
2020-08-05virtio_ring: Avoid loop when vq is broken in virtqueue_pollMao Wenan1-0/+3
2020-08-03virtio: virtio_has_iommu_quirk -> virtio_has_dma_quirkMichael S. Tsirkin1-1/+1
2020-08-03virtio: VIRTIO_F_IOMMU_PLATFORM -> VIRTIO_F_ACCESS_PLATFORMMichael S. Tsirkin1-1/+1
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-3/+3
2020-03-08virtio_ring: Fix mem leak with vring_new_virtqueue()Suman Anna1-2/+2
2019-11-19virtio_ring: fix return code on DMA mapping failsHalil Pasic1-2/+2
2019-10-28virtio_ring: fix stalls for packed ringsMarvin Liu1-4/+3
2019-09-09virtio_ring: fix unmap of indirect descriptorsMatthias Lange1-2/+6
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102Thomas Gleixner1-14/+1
2019-05-12virtio/virtio_ring: do some comment fixesJiang Biao1-13/+14
2019-05-12virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packedYueHaibing1-0/+1
2019-04-08virtio: Honour 'may_reduce_num' in vring_create_virtqueueCornelia Huck1-0/+2
2019-03-06virtio: Introduce virtio_max_dma_size()Joerg Roedel1-0/+11
2019-02-05virtio: drop internal struct from UAPIMichael S. Tsirkin1-1/+6
2019-01-24virtio: support VIRTIO_F_ORDER_PLATFORMTiwei Bie1-0/+8
2018-11-26virtio_ring: advertize packed ring layoutTiwei Bie1-0/+2
2018-11-26virtio_ring: leverage event idx in packed ringTiwei Bie1-6/+71
2018-11-26virtio_ring: introduce packed ring supportTiwei Bie1-30/+870
2018-11-26virtio_ring: cache whether we will use DMA APITiwei Bie1-4/+8
2018-11-26virtio_ring: extract split ring handling from ring creationTiwei Bie1-99/+121
2018-11-26virtio_ring: allocate desc state for split ring separatelyTiwei Bie1-18/+27
2018-11-26virtio_ring: introduce helper for indirect featureTiwei Bie1-3/+13
2018-11-26virtio_ring: introduce debug helpersTiwei Bie1-22/+27
2018-11-26virtio_ring: put split ring fields in a sub structTiwei Bie1-65/+91
2018-11-26virtio_ring: put split ring functions togetherTiwei Bie1-254/+271
2018-11-26virtio_ring: add _split suffix for split ring functionsTiwei Bie1-96/+155
2018-06-12treewide: kmalloc() -> kmalloc_array()Kees Cook1-1/+1
2018-04-05headers: untangle kmemleak.h from mm.hRandy Dunlap1-1/+0
2018-03-01virtio_ring: fix num_free handling in error caseTiwei Bie1-2/+0
2017-09-07Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-2/+3
2017-08-24scsi: virtio: Reduce BUG if total_sg > virtqueue size to WARN.Richard W.M. Jones1-2/+3
2017-07-24virtio_ring: allow to store zero as the ctxJason Wang1-1/+1
2017-05-02virtio: allow extra context per descriptorMichael S. Tsirkin1-13/+57
2017-05-02virtio: add context flag to find vqsMichael S. Tsirkin1-2/+5
2017-02-03Revert "vring: Force use of DMA API for ARM-based systems with legacy devices"Michael S. Tsirkin1-7/+0
2017-01-25vring: Force use of DMA API for ARM-based systems with legacy devicesWill Deacon1-0/+7
2016-12-16virtio_ring: fix description of virtqueue_get_bufFelipe Franciosi1-1/+1
2016-12-15virtio_ring: fix complaint by sparseGonglei1-2/+2
2016-10-31virtio_ring: mark vring_dma_dev inlineMichael S. Tsirkin1-1/+1
2016-10-31virtio_ring: Make interrupt suppression spec compliantLadi Prosek1-5/+9
2016-09-09virtio: mark vring_dma_dev() staticBaoyou Xie1-1/+1
2016-08-09virtio: fix error handling for debug buildsMichael S. Tsirkin1-0/+1
2016-08-09virtio: fix memory leak in virtqueue_add()Wei Yongjun1-0/+2
2016-08-01virtio: new feature to detect IOMMU device quirkMichael S. Tsirkin1-1/+14
2016-05-01virtio: Silence uninitialized variable warningDan Carpenter1-1/+1
2016-03-02vring: Use the DMA API on XenAndy Lutomirski1-0/+12
2016-03-02virtio: Add improved queue allocation APIAndy Lutomirski1-30/+179
2016-03-02virtio_ring: Support DMA APIsAndy Lutomirski1-35/+165
2016-03-02vring: Introduce vring_use_dma_api()Andy Lutomirski1-0/+24
2016-01-12virtio_ring: use virt_store_mbMichael S. Tsirkin1-6/+9
2015-12-07virtio_ring: shadow available ring flags & indexVenkatesh Srinivas1-12/+34
2015-12-07virtio: Do not drop __GFP_HIGH in alloc_indirectMichal Hocko1-1/+1
2015-02-11virtio: Avoid possible kernel panic if DEBUG is enabled.Tetsuo Handa1-3/+3
2015-01-21virtio_ring: coding style fixMichael S. Tsirkin1-2/+1
2014-12-09virtio: make VIRTIO_F_VERSION_1 a transport bitMichael S. Tsirkin1-0/+2
2014-12-09virtio: allow transports to get avail/used addressesCornelia Huck1-0/+16
2014-12-09virtio_ring: switch to new memory access APIsMichael S. Tsirkin1-44/+45
2014-12-09virtio: use u32, not bitmap for featuresMichael S. Tsirkin1-1/+1
2014-09-13virtio_ring: unify direct/indirect code paths.Rusty Russell1-76/+52
2014-09-13virtio_ring: assume sgs are always well-formed.Rusty Russell1-49/+19
2014-04-28virtio: virtio_break_device() to mark all virtqueues broken.Rusty Russell1-0/+15
2014-03-13virtio: fail adding buffer on broken queues.Rusty Russell1-3/+8
2014-03-13tools/virtio: fix missing kmemleak_ignore symbolJoel Stanley1-0/+1
2013-11-05virtio_ring: adapt to notify() returning boolHeinz Graalfs1-1/+1
2013-10-29virtio_ring: add new function virtqueue_is_broken()Heinz Graalfs1-0/+8
2013-10-29virtio_ring: let virtqueue_{kick()/notify()} return a boolHeinz Graalfs1-4/+16
2013-10-29virtio_ring: change host notification APIHeinz Graalfs1-2/+2
2013-10-17virtio_ring: plug kmemleak false positive.Rusty Russell1-0/+2
2013-07-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-nextLinus Torvalds1-12/+44
2013-07-09virtio: support unlocked queue pollMichael S. Tsirkin1-12/+44
2013-05-20virtio: remove virtqueue_add_buf().Rusty Russell1-34/+3
2013-03-20virtio_ring: virtqueue_add_outbuf / virtqueue_add_inbuf.Rusty Russell1-0/+44
2013-03-20virtio_ring: virtqueue_add_sgs, to add multiple sgs.Rusty Russell1-63/+157
2013-03-20virtio_ring: expose virtio barriers for use in vringh.Rusty Russell1-27/+6
2012-12-18virtio: make virtqueue_add_buf() returning 0 on success, not capacity.Rusty Russell1-5/+2
2012-12-18virtio: move queue_index and num_free fields into core struct virtqueue.Rusty Russell1-23/+11
2012-10-22virtio: force vring descriptors to be allocated from lowmemWill Deacon1-0/+7
2012-09-28virtio-ring: move queue_index to vring_virtqueueJason Wang1-1/+13
2012-01-28virtio: correct the memory barrier in virtqueue_kick_prepare()Jason Wang1-3/+3
2012-01-28virtio: fix typos of memory barriersJason Wang1-1/+1
2012-01-12virtio: add debugging if driver doesn't kick.Rusty Russell1-0/+31
2012-01-12virtio: expose added descriptors immediately.Rusty Russell1-6/+14
2012-01-12virtio: avoid modulus operation.Rusty Russell1-4/+6
2012-01-12virtio: support unlocked queue kickRusty Russell1-12/+48
2012-01-12virtio: rename virtqueue_add_buf_gfp to virtqueue_add_bufRusty Russell1-11/+11
2012-01-12virtio: document functions better.Rusty Russell1-1/+91
2012-01-12virtio: harsher barriers for rpmsg.Rusty Russell1-13/+21
2011-10-31virtio: Add module.h to drivers/virtio users.Paul Gortmaker1-0/+1
2011-10-24Add ethtool -g support to virtio_netRick Jones1-0/+10