lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DCNE4H8KT8B8.20Z8SOHSGB5AD@nvidia.com>
Date: Mon, 08 Sep 2025 20:42:56 +0900
From: "Alexandre Courbot" <acourbot@...dia.com>
To: "Alistair Popple" <apopple@...dia.com>, "Alice Ryhl"
 <aliceryhl@...gle.com>
Cc: <dri-devel@...ts.freedesktop.org>, <dakr@...nel.org>, "Miguel Ojeda"
 <ojeda@...nel.org>, "Alex Gaynor" <alex.gaynor@...il.com>, "Boqun Feng"
 <boqun.feng@...il.com>, "Gary Guo" <gary@...yguo.net>,
 Björn Roy Baron <bjorn3_gh@...tonmail.com>, "Benno Lossin"
 <lossin@...nel.org>, "Andreas Hindborg" <a.hindborg@...nel.org>, "Trevor
 Gross" <tmgross@...ch.edu>, "David Airlie" <airlied@...il.com>, "Simona
 Vetter" <simona@...ll.ch>, "Maarten Lankhorst"
 <maarten.lankhorst@...ux.intel.com>, "Maxime Ripard" <mripard@...nel.org>,
 "Thomas Zimmermann" <tzimmermann@...e.de>, "John Hubbard"
 <jhubbard@...dia.com>, "Joel Fernandes" <joelagnelf@...dia.com>, "Timur
 Tabi" <ttabi@...dia.com>, <linux-kernel@...r.kernel.org>,
 <nouveau@...ts.freedesktop.org>, "Nouveau"
 <nouveau-bounces@...ts.freedesktop.org>
Subject: Re: [PATCH 04/10] gpu: nova-core: Add a slice-buffer (sbuffer)
 datastructure

On Mon Sep 8, 2025 at 8:31 PM JST, Alistair Popple wrote:
> On 2025-09-07 at 20:54 +1000, Alice Ryhl <aliceryhl@...gle.com> wrote...
>> On Wed, Aug 27, 2025 at 06:20:01PM +1000, Alistair Popple wrote:
>> > From: Joel Fernandes <joelagnelf@...dia.com>
>> > 
>> > A data structure that can be used to write across multiple slices which
>> > may be out of order in memory. This lets SBuffer user correctly and
>> > safely write out of memory order, without error-prone tracking of
>> > pointers/offsets.
>> > 
>> >  let mut buf1 = [0u8; 3];
>> >  let mut buf2 = [0u8; 5];
>> >  let mut sbuffer = SBuffer::new([&mut buf1[..], &mut buf2[..]]);
>> > 
>> >  let data = b"hellowo";
>> >  let result = sbuffer.write(data);
>> > 
>> > An internal conversion of gsp.rs to use this resulted in a nice -ve delta:
>> > gsp.rs: 37 insertions(+), 99 deletions(-)
>> > 
>> > Co-developed-by: Alistair Popple <apopple@...dia.com>
>> > Signed-off-by: Alistair Popple <apopple@...dia.com>
>> > Signed-off-by: Joel Fernandes <joelagnelf@...dia.com>
>> 
>> This seems like duplication of the logic in rust/kernel/iov_iter.rs [1].
>
> Conceptually I guess there is some overlap. The thing that's different here
> is we don't have any C version of the iovec struct or iov_iter, and AFAICT [1]
> doesn't provide any way of creating one from within Rust code.

Yup, I was about to ask as well - I am not familiar with the C API, but
how can we use it from Rust, using e.g. a pair of slices as the data
source/destination? I see that `struct iovec` also has `__user` marker
for its base, which hints to me that it is not designed to work with
kernel data?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ