All of lore.kernel.org
 help / color / mirror / Atom feed
* [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field
@ 2022-04-21 10:29 Laura Loghin
  2022-04-27  9:00 ` Stefano Garzarella
  2022-06-02 11:14 ` Cornelia Huck
  0 siblings, 2 replies; 5+ messages in thread
From: Laura Loghin @ 2022-04-21 10:29 UTC (permalink / raw)
  To: virtio-comment; +Cc: Laura Loghin

Added a new field to the vsock device config space that
is limiting the size of the packet payload. This way
the driver is not allowed to allocate huge buffers, and
potentially fill up the entire memory.
Also defined a new feature bit for this, VIRTIO_VSOCK_F_SIZE_MAX,
in order to keep backwards compatibility.

Signed-off-by: Laura Loghin <lauralg@amazon.com>
---
 virtio-vsock.tex | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/virtio-vsock.tex b/virtio-vsock.tex
index d79984d..5db6110 100644
--- a/virtio-vsock.tex
+++ b/virtio-vsock.tex
@@ -23,6 +23,10 @@ \subsection{Feature bits}\label{sec:Device Types / Socket Device / Feature bits}
 \begin{description}
 \item[VIRTIO_VSOCK_F_STREAM (0)] stream socket type is supported.
 \item[VIRTIO_VSOCK_F_SEQPACKET (1)] seqpacket socket type is supported.
+\item[VIRTIO_VSOCK_F_SIZE_MAX (2)] Maximum size of the packet payload is in
+	\field{data_max_size}. If offered by the device, device advises driver
+	about the value of its maximum payload size. If negotiated, the driver uses
+	\field{data_max_size} as the maximum packet payload size value.
 \end{description}
 
 \subsection{Device configuration layout}\label{sec:Device Types / Socket Device / Device configuration layout}
@@ -32,6 +36,7 @@ \subsection{Device configuration layout}\label{sec:Device Types / Socket Device
 \begin{lstlisting}
 struct virtio_vsock_config {
 	le64 guest_cid;
+	le32 data_max_size;
 };
 \end{lstlisting}
 
@@ -57,6 +62,25 @@ \subsection{Device configuration layout}\label{sec:Device Types / Socket Device
 \hline
 \end{tabular}
 
+The following driver-read-only field, \field{data_max_size} only exists if
+VIRTIO_VSOCK_F_SIZE_MAX is set. This field specifies the maximum packet payload
+size for the driver to use.
+
+\devicenormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
+
+The device MUST NOT change the value exposed through \field{data_max_size}.
+
+\drivernormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
+
+A driver SHOULD negotiate VIRTIO_VSOCK_F_SIZE_MAX if the device offers it.
+
+If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, the receive buffers it
+supplies for a packet MUST have a total size that doesn't exceed the size
+\field{data_max_size} (plus header length).
+
+If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, it MUST  NOT transmit packets
+of size exceeding the value of \field{data_max_size} (plus header length).
+
 \subsection{Device Initialization}\label{sec:Device Types / Socket Device / Device Initialization}
 
 \begin{enumerate}
-- 
2.17.1




Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field
  2022-04-21 10:29 [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field Laura Loghin
@ 2022-04-27  9:00 ` Stefano Garzarella
  2022-04-29  7:05   ` Laura Loghin
  2022-06-02 11:14 ` Cornelia Huck
  1 sibling, 1 reply; 5+ messages in thread
From: Stefano Garzarella @ 2022-04-27  9:00 UTC (permalink / raw)
  To: Laura Loghin; +Cc: virtio-comment

On Thu, Apr 21, 2022 at 01:29:39PM +0300, Laura Loghin wrote:
>Added a new field to the vsock device config space that
>is limiting the size of the packet payload. This way
>the driver is not allowed to allocate huge buffers, and
>potentially fill up the entire memory.
>Also defined a new feature bit for this, VIRTIO_VSOCK_F_SIZE_MAX,
>in order to keep backwards compatibility.
>
>Signed-off-by: Laura Loghin <lauralg@amazon.com>
>---
> virtio-vsock.tex | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>

>
>diff --git a/virtio-vsock.tex b/virtio-vsock.tex
>index d79984d..5db6110 100644
>--- a/virtio-vsock.tex
>+++ b/virtio-vsock.tex
>@@ -23,6 +23,10 @@ \subsection{Feature bits}\label{sec:Device Types / Socket Device / Feature bits}
> \begin{description}
> \item[VIRTIO_VSOCK_F_STREAM (0)] stream socket type is supported.
> \item[VIRTIO_VSOCK_F_SEQPACKET (1)] seqpacket socket type is supported.
>+\item[VIRTIO_VSOCK_F_SIZE_MAX (2)] Maximum size of the packet payload is in
>+	\field{data_max_size}. If offered by the device, device advises driver
>+	about the value of its maximum payload size. If negotiated, the driver uses
>+	\field{data_max_size} as the maximum packet payload size value.
> \end{description}
>
> \subsection{Device configuration layout}\label{sec:Device Types / Socket Device / Device configuration layout}
>@@ -32,6 +36,7 @@ \subsection{Device configuration layout}\label{sec:Device Types / Socket Device
> \begin{lstlisting}
> struct virtio_vsock_config {
> 	le64 guest_cid;
>+	le32 data_max_size;
> };
> \end{lstlisting}
>
>@@ -57,6 +62,25 @@ \subsection{Device configuration layout}\label{sec:Device Types / Socket Device
> \hline
> \end{tabular}
>
>+The following driver-read-only field, \field{data_max_size} only exists if
>+VIRTIO_VSOCK_F_SIZE_MAX is set. This field specifies the maximum packet payload
>+size for the driver to use.
>+
>+\devicenormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
>+
>+The device MUST NOT change the value exposed through \field{data_max_size}.
>+
>+\drivernormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
>+
>+A driver SHOULD negotiate VIRTIO_VSOCK_F_SIZE_MAX if the device offers it.
>+
>+If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, the receive buffers it
>+supplies for a packet MUST have a total size that doesn't exceed the size
>+\field{data_max_size} (plus header length).
>+
>+If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, it MUST  NOT transmit packets
>+of size exceeding the value of \field{data_max_size} (plus header length).
>+
> \subsection{Device Initialization}\label{sec:Device Types / Socket Device / Device Initialization}
>
> \begin{enumerate}
>-- 
>2.17.1
>
>
>
>
>Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.
>
>
>This publicly archived list offers a means to provide input to the
>OASIS Virtual I/O Device (VIRTIO) TC.
>
>In order to verify user consent to the Feedback License terms and
>to minimize spam in the list archive, subscription is required
>before posting.
>
>Subscribe: virtio-comment-subscribe@lists.oasis-open.org
>Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
>List help: virtio-comment-help@lists.oasis-open.org
>List archive: https://lists.oasis-open.org/archives/virtio-comment/
>Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
>List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
>Committee: https://www.oasis-open.org/committees/virtio/
>Join OASIS: https://www.oasis-open.org/join/
>


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field
  2022-04-27  9:00 ` Stefano Garzarella
@ 2022-04-29  7:05   ` Laura Loghin
  0 siblings, 0 replies; 5+ messages in thread
From: Laura Loghin @ 2022-04-29  7:05 UTC (permalink / raw)
  To: virtio-comment

On 4/27/22 12:00, Stefano Garzarella wrote:
> CAUTION: This email originated from outside of the organization. Do 
> not click links or open attachments unless you can confirm the sender 
> and know the content is safe.
>
>
>
> On Thu, Apr 21, 2022 at 01:29:39PM +0300, Laura Loghin wrote:
>> Added a new field to the vsock device config space that
>> is limiting the size of the packet payload. This way
>> the driver is not allowed to allocate huge buffers, and
>> potentially fill up the entire memory.
>> Also defined a new feature bit for this, VIRTIO_VSOCK_F_SIZE_MAX,
>> in order to keep backwards compatibility.
>>
>> Signed-off-by: Laura Loghin <lauralg@amazon.com>
>> ---
>> virtio-vsock.tex | 24 ++++++++++++++++++++++++
>> 1 file changed, 24 insertions(+)
>
> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>
>>
>> diff --git a/virtio-vsock.tex b/virtio-vsock.tex
>> index d79984d..5db6110 100644
>> --- a/virtio-vsock.tex
>> +++ b/virtio-vsock.tex
>> @@ -23,6 +23,10 @@ \subsection{Feature bits}\label{sec:Device Types / 
>> Socket Device / Feature bits}
>> \begin{description}
>> \item[VIRTIO_VSOCK_F_STREAM (0)] stream socket type is supported.
>> \item[VIRTIO_VSOCK_F_SEQPACKET (1)] seqpacket socket type is supported.
>> +\item[VIRTIO_VSOCK_F_SIZE_MAX (2)] Maximum size of the packet 
>> payload is in
>> +      \field{data_max_size}. If offered by the device, device 
>> advises driver
>> +      about the value of its maximum payload size. If negotiated, 
>> the driver uses
>> +      \field{data_max_size} as the maximum packet payload size value.
>> \end{description}
>>
>> \subsection{Device configuration layout}\label{sec:Device Types / 
>> Socket Device / Device configuration layout}
>> @@ -32,6 +36,7 @@ \subsection{Device configuration 
>> layout}\label{sec:Device Types / Socket Device
>> \begin{lstlisting}
>> struct virtio_vsock_config {
>>       le64 guest_cid;
>> +      le32 data_max_size;
>> };
>> \end{lstlisting}
>>
>> @@ -57,6 +62,25 @@ \subsection{Device configuration 
>> layout}\label{sec:Device Types / Socket Device
>> \hline
>> \end{tabular}
>>
>> +The following driver-read-only field, \field{data_max_size} only 
>> exists if
>> +VIRTIO_VSOCK_F_SIZE_MAX is set. This field specifies the maximum 
>> packet payload
>> +size for the driver to use.
>> +
>> +\devicenormative{\subsubsection}{Device configuration layout}{Device 
>> Types / Socket Device / Device configuration layout}
>> +
>> +The device MUST NOT change the value exposed through 
>> \field{data_max_size}.
>> +
>> +\drivernormative{\subsubsection}{Device configuration layout}{Device 
>> Types / Socket Device / Device configuration layout}
>> +
>> +A driver SHOULD negotiate VIRTIO_VSOCK_F_SIZE_MAX if the device 
>> offers it.
>> +
>> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, the receive 
>> buffers it
>> +supplies for a packet MUST have a total size that doesn't exceed the 
>> size
>> +\field{data_max_size} (plus header length).
>> +
>> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, it MUST  NOT 
>> transmit packets
>> +of size exceeding the value of \field{data_max_size} (plus header 
>> length).
>> +
>> \subsection{Device Initialization}\label{sec:Device Types / Socket 
>> Device / Device Initialization}
>>
>> \begin{enumerate}
>> -- 
>> 2.17.1
>>
>>
>>
>>
>> Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. 
>> Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. 
>> Registered in Romania. Registration number J22/2621/2005.
>>
>>
>> This publicly archived list offers a means to provide input to the
>> OASIS Virtual I/O Device (VIRTIO) TC.
>>
>> In order to verify user consent to the Feedback License terms and
>> to minimize spam in the list archive, subscription is required
>> before posting.
>>
>> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
>> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
>> List help: virtio-comment-help@lists.oasis-open.org
>> List archive: https://lists.oasis-open.org/archives/virtio-comment/
>> Feedback License: 
>> https://www.oasis-open.org/who/ipr/feedback_license.pdf
>> List Guidelines: 
>> https://www.oasis-open.org/policies-guidelines/mailing-lists
>> Committee: https://www.oasis-open.org/committees/virtio/
>> Join OASIS: https://www.oasis-open.org/join/
>>
>
>
> This publicly archived list offers a means to provide input to the
> OASIS Virtual I/O Device (VIRTIO) TC.
>
> In order to verify user consent to the Feedback License terms and
> to minimize spam in the list archive, subscription is required
> before posting.
>
> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
> List help: virtio-comment-help@lists.oasis-open.org
> List archive: https://lists.oasis-open.org/archives/virtio-comment/
> Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
> List Guidelines: 
> https://www.oasis-open.org/policies-guidelines/mailing-lists
> Committee: https://www.oasis-open.org/committees/virtio/
> Join OASIS: https://www.oasis-open.org/join/
>
Requesting a vote.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/140

Thank you,
Laura



Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field
  2022-04-21 10:29 [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field Laura Loghin
  2022-04-27  9:00 ` Stefano Garzarella
@ 2022-06-02 11:14 ` Cornelia Huck
  2022-06-13 10:45   ` Laura Loghin
  1 sibling, 1 reply; 5+ messages in thread
From: Cornelia Huck @ 2022-06-02 11:14 UTC (permalink / raw)
  To: Laura Loghin, virtio-comment; +Cc: Laura Loghin

On Thu, Apr 21 2022, Laura Loghin <lauralg@amazon.com> wrote:

> Added a new field to the vsock device config space that
> is limiting the size of the packet payload. This way
> the driver is not allowed to allocate huge buffers, and
> potentially fill up the entire memory.
> Also defined a new feature bit for this, VIRTIO_VSOCK_F_SIZE_MAX,
> in order to keep backwards compatibility.
>
> Signed-off-by: Laura Loghin <lauralg@amazon.com>
> ---
>  virtio-vsock.tex | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> +\devicenormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
> +
> +The device MUST NOT change the value exposed through \field{data_max_size}.
> +
> +\drivernormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
> +
> +A driver SHOULD negotiate VIRTIO_VSOCK_F_SIZE_MAX if the device offers it.
> +
> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, the receive buffers it
> +supplies for a packet MUST have a total size that doesn't exceed the size
> +\field{data_max_size} (plus header length).
> +
> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, it MUST  NOT transmit packets
> +of size exceeding the value of \field{data_max_size} (plus header length).
> +
>  \subsection{Device Initialization}\label{sec:Device Types / Socket Device / Device Initialization}
>  
>  \begin{enumerate}

I think you need to hook up the two new sections in conformance.tex.


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field
  2022-06-02 11:14 ` Cornelia Huck
@ 2022-06-13 10:45   ` Laura Loghin
  0 siblings, 0 replies; 5+ messages in thread
From: Laura Loghin @ 2022-06-13 10:45 UTC (permalink / raw)
  To: Cornelia Huck, virtio-comment

[-- Attachment #1: Type: text/plain, Size: 2100 bytes --]

On 6/2/22 14:14, Cornelia Huck wrote:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>
>
>
> On Thu, Apr 21 2022, Laura Loghin<lauralg@amazon.com>  wrote:
>
>> Added a new field to the vsock device config space that
>> is limiting the size of the packet payload. This way
>> the driver is not allowed to allocate huge buffers, and
>> potentially fill up the entire memory.
>> Also defined a new feature bit for this, VIRTIO_VSOCK_F_SIZE_MAX,
>> in order to keep backwards compatibility.
>>
>> Signed-off-by: Laura Loghin<lauralg@amazon.com>
>> ---
>>   virtio-vsock.tex | 24 ++++++++++++++++++++++++
>>   1 file changed, 24 insertions(+)
>>
>> +\devicenormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
>> +
>> +The device MUST NOT change the value exposed through \field{data_max_size}.
>> +
>> +\drivernormative{\subsubsection}{Device configuration layout}{Device Types / Socket Device / Device configuration layout}
>> +
>> +A driver SHOULD negotiate VIRTIO_VSOCK_F_SIZE_MAX if the device offers it.
>> +
>> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, the receive buffers it
>> +supplies for a packet MUST have a total size that doesn't exceed the size
>> +\field{data_max_size} (plus header length).
>> +
>> +If the driver negotiates VIRTIO_VSOCK_F_SIZE_MAX, it MUST  NOT transmit packets
>> +of size exceeding the value of \field{data_max_size} (plus header length).
>> +
>>   \subsection{Device Initialization}\label{sec:Device Types / Socket Device / Device Initialization}
>>
>>   \begin{enumerate}
> I think you need to hook up the two new sections in conformance.tex.
>
Hi,

Sorry, I was on vacation. Fixed inhttps://lists.oasis-open.org/archives/virtio-comment/202206/msg00030.html.

Thanks,

Laura



Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.

[-- Attachment #2: Type: text/html, Size: 2820 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-13 10:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21 10:29 [virtio-comment] [PATCH v3] virtio-vsock: add max payload size config field Laura Loghin
2022-04-27  9:00 ` Stefano Garzarella
2022-04-29  7:05   ` Laura Loghin
2022-06-02 11:14 ` Cornelia Huck
2022-06-13 10:45   ` Laura Loghin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.