From aa9778215ce3bf31de1c8e8903f303c31eee9c31 Mon Sep 17 00:00:00 2001 From: rusty Date: Mon, 12 May 2014 01:57:36 +0000 Subject: VIRTIO-87: limit descriptor chain length even with INDIRECT. As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@366 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- content.tex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/content.tex b/content.tex index 4525975..83d1afd 100644 --- a/content.tex +++ b/content.tex @@ -404,7 +404,7 @@ struct virtq_desc { \end{lstlisting} The number of descriptors in the table is defined by the queue size -for this virtqueue. +for this virtqueue: this is the maximum possible descriptor chain length. \begin{note} The legacy \hyperref[intro:Virtio PCI Draft]{[Virtio PCI Draft]} @@ -456,6 +456,9 @@ VIRTIO_F_INDIRECT_DESC feature was negotiated. The driver MUST NOT set the VIRTQ_DESC_F_INDIRECT flag within an indirect descriptor (ie. only one table per descriptor). +A driver MUST NOT create a descriptor chain longer than the Queue Size of +the device. + \devicenormative{\paragraph}{Indirect Descriptors}{Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors} The device MUST ignore the write-only flag (\field{flags}\&VIRTQ_DESC_F_WRITE) in the descriptor that refers to an indirect table. -- cgit v1.2.3