lkml.org 
[lkml]   [2022]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [RFC PATCH 4/6] hv_sock: Initialize send_buf in hvs_stream_enqueue()
Date
From: Andrea Parri <parri.andrea@gmail.com> Sent: Thursday, April 14, 2022 11:51 PM
>
> > > @@ -655,7 +655,7 @@ static ssize_t hvs_stream_enqueue(struct vsock_sock *vsk,
> > > struct msghdr *msg,
> > >
> > > BUILD_BUG_ON(sizeof(*send_buf) != HV_HYP_PAGE_SIZE);
> > >
> > > - send_buf = kmalloc(sizeof(*send_buf), GFP_KERNEL);
> > > + send_buf = kzalloc(sizeof(*send_buf), GFP_KERNEL);
> >
> > Is this change really needed?
>
> The idea was...
>
>
> > All fields are explicitly initialized, and in the data
> > array, only the populated bytes are copied to the ring buffer. There should not
> > be any uninitialized values sent to the host. Zeroing the memory ahead of
> > time certainly provides an extra protection (particularly against padding bytes,
> > but there can't be any since the layout of the data is part of the protocol with
> > Hyper-V).
>
> Rather than keeping checking that...

The extra protection might be obtained by just zero'ing the header (i.e., the
bytes up to the 16 Kbyte data array). I don't have a strong preference either
way, so up to you.

Michael

>
>
> > It is expensive protection to zero out 16K+ bytes every time we send
> > out a small message.
>
> Do this. ;-)
>
> Will drop the patch.
>
> Thanks,
> Andrea

\
 
 \ /
  Last update: 2022-09-17 16:21    [W:1.271 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site