Lines Matching defs:UserSlice
82 /// Creating a [`UserSliceReader`] and/or [`UserSliceWriter`] consumes the `UserSlice`, helping
95 /// use kernel::uaccess::{UserPtr, UserSlice};
98 /// let (read, mut write) = UserSlice::new(uptr, len).reader_writer();
116 /// use kernel::uaccess::{UserPtr, UserSlice};
120 /// let read = UserSlice::new(uptr, len).reader();
134 /// let read = UserSlice::new(uptr, len).reader();
141 /// // To avoid this kind of bug, don't call `UserSlice::new` multiple
149 pub struct UserSlice {
154 impl UserSlice {
157 /// Constructing a [`UserSlice`] performs no checks on the provided address and length, it can
162 /// attempt to read or write, not in the call to `UserSlice::new`.
165 /// is to create a single instance of [`UserSlice`] per user memory block as it reads each byte
168 UserSlice { ptr, length }
211 /// A reader for [`UserSlice`].
235 /// documentation for [`UserSlice`].
443 /// A writer for [`UserSlice`].