Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bytecodealliance/rustix
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.38.17
Choose a base ref
...
head repository: bytecodealliance/rustix
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.38.19
Choose a head ref
  • 9 commits
  • 26 files changed
  • 4 contributors

Commits on Oct 8, 2023

  1. Configuration menu
    Copy the full SHA
    0c22704 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. io-uring API updates. (#871)

    * io-uring API updates.
    
    Add the `addr_len` field to `splice_fd_in_or_file_index_union`, define
    the `io_uring_sync_cancel_reg` struct, and export the various flags
    types used in the public API from the `io_uring` module so that users
    don't need to enable "fs" or "net" themselves just to work with
    `io_uring`.
    
    * Make `Nsecs` be 64-bit on 32-bit x86 Linux.
    sunfishcode authored Oct 9, 2023
    Configuration menu
    Copy the full SHA
    112c268 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1a9d129 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. Configuration menu
    Copy the full SHA
    5e5c046 View commit details
    Browse the repository at this point in the history
  2. Fixes needed by io_uring. (#873)

    * Fixes needed by io_uring.
    
     - Have the `io_uring` module export more types used in opcode entries.
     - Define a conversion from `SocketAddr` to `SocketAddrAny`.
     - Add comments to the `fadvise` implementation.
    
    * Pin regex to 1.9 in Rust 1.63 builds.
    
    * Make more `Epoll` types available to io_uring too.
    
    This enables most of the epoll module without needing "alloc". It
    doesn't enable `epoll_wait`, because that needs `Vec`, but this
    does potentially open up a path to having a non-allocating opetion
    for waiting on an epoll.
    sunfishcode authored Oct 10, 2023
    Configuration menu
    Copy the full SHA
    d012bcf View commit details
    Browse the repository at this point in the history
  3. Add mlockall and munlockall (#872)

    newpavlov authored Oct 10, 2023
    Configuration menu
    Copy the full SHA
    4bb2f4b View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Merge pull request from GHSA-c827-hfw6-qwvm

    * Fix `rustix::fs::Dir` to avoid unbounded buffer growth.
    
    Fix `Dir`'s buffer size computation to avoid resizing past a fixed
    upper limit. This prevents it from growing without bound, such as in
    the case of `Dir::rewind` for repeated iterations with the same `Dir`.
    
    * Don't let `Dir` continue to try to iterate after a failure.
    
    * Handle `io::Errno::INTR` gracefully.
    
    * Write a more detailed comment on the buffer growth policy.
    
    * Also mention that no buffer can ever be big enough for everything.
    
    * Add tests against over-allocation & stuck iterator
    
    * Rm `dir_iterator_does_not_overallocate` unit test in favour of docs
    
    * Extend `test_dir` to cover `rewind`.
    
    * Consistently handle directory removal as ending the stream.
    
    libc implementations of directory iteration handle directory removal
    by just ending the stream. In the linux_raw backend, this looks like
    `ENOENT` from `getdents64`, so change the code to check for `ENOENT`
    and end the stream.
    
    This requires changing the `dir_iterator_does_not_get_stuck_on_io_error`
    test to no longer expect a failure, so it's now renamed to
    `dir_iterator_handles_dir_removal`.
    
    To test the error case, add a new `dir_iterator_handles_io_errors`
    test which uses `dup2` to induce an error, in both the linux_raw and
    libc backends.
    
    This exposes the fact that the libc `Dir` implementation was also
    assuming that users would stop iterating after hitting a failure, so
    add a `any_errors` flag to the libc backend as well.
    
    * Add a test for removing the directory after doing `read_from`.
    
    * In the libc backend, handle `ENOENT` when opening ".".
    
    ---------
    
    Co-authored-by: cyqsimon <[email protected]>
    sunfishcode and cyqsimon authored Oct 12, 2023
    Configuration menu
    Copy the full SHA
    31fd98c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    55cbe88 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3a53dfe View commit details
    Browse the repository at this point in the history
Loading