History log of /linux-6.15/rust/kernel/ (Results 226 – 250 of 474)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
8ad1a41f15-Sep-2024 Alice Ryhl <[email protected]>

rust: file: add `Kuid` wrapper

Adds a wrapper around `kuid_t` called `Kuid`. This allows us to define
various operations on kuids such as equality and current_euid. It also
lets us provide conversio

rust: file: add `Kuid` wrapper

Adds a wrapper around `kuid_t` called `Kuid`. This allows us to define
various operations on kuids such as equality and current_euid. It also
lets us provide conversions from kuid into userspace values.

Rust Binder needs these operations because it needs to compare kuids for
equality, and it needs to tell userspace about the pid and uid of
incoming transactions.

To read kuids from a `struct task_struct`, you must currently use
various #defines that perform the appropriate field access under an RCU
read lock. Currently, we do not have a Rust wrapper for rcu_read_lock,
which means that for this patch, there are two ways forward:

1. Inline the methods into Rust code, and use __rcu_read_lock directly
rather than the rcu_read_lock wrapper. This gives up lockdep for
these usages of RCU.

2. Wrap the various #defines in helpers and call the helpers from Rust.

This patch uses the second option. One possible disadvantage of the
second option is the possible introduction of speculation gadgets, but
as discussed in [1], the risk appears to be acceptable.

Of course, once a wrapper for rcu_read_lock is available, it is
preferable to use that over either of the two above approaches.

Link: https://lore.kernel.org/all/202312080947.674CD2DC7@keescook/ [1]
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>

show more ...

5da9857b15-Sep-2024 Wedson Almeida Filho <[email protected]>

rust: file: add `FileDescriptorReservation`

Allow for the creation of a file descriptor in two steps: first, we
reserve a slot for it, then we commit or drop the reservation. The first
step may fail

rust: file: add `FileDescriptorReservation`

Allow for the creation of a file descriptor in two steps: first, we
reserve a slot for it, then we commit or drop the reservation. The first
step may fail (e.g., the current process ran out of available slots),
but commit and drop never fail (and are mutually exclusive).

This is needed by Rust Binder when fds are sent from one process to
another. It has to be a two-step process to properly handle the case
where multiple fds are sent: The operation must fail or succeed
atomically, which we achieve by first reserving the fds we need, and
only installing the files once we have reserved enough fds to send the
files.

Fd reservations assume that the value of `current` does not change
between the call to get_unused_fd_flags and the call to fd_install (or
put_unused_fd). By not implementing the Send trait, this abstraction
ensures that the `FileDescriptorReservation` cannot be moved into a
different process.

Signed-off-by: Wedson Almeida Filho <[email protected]>
Co-developed-by: Alice Ryhl <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>

show more ...

94d356c015-Sep-2024 Alice Ryhl <[email protected]>

rust: security: add abstraction for secctx

Add an abstraction for viewing the string representation of a security
context.

This is needed by Rust Binder because it has a feature where a process
can

rust: security: add abstraction for secctx

Add an abstraction for viewing the string representation of a security
context.

This is needed by Rust Binder because it has a feature where a process
can view the string representation of the security context for incoming
transactions. The process can use that to authenticate incoming
transactions, and since the feature is provided by the kernel, the
process can trust that the security context is legitimate.

This abstraction makes the following assumptions about the C side:
* When a call to `security_secid_to_secctx` is successful, it returns a
pointer and length. The pointer references a byte string and is valid
for reading for that many bytes.
* The string may be referenced until `security_release_secctx` is
called.
* If CONFIG_SECURITY is set, then the three methods mentioned in
rust/helpers are available without a helper. (That is, they are not a
#define or `static inline`.)

Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Acked-by: Paul Moore <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>

show more ...

a3df991d15-Sep-2024 Wedson Almeida Filho <[email protected]>

rust: cred: add Rust abstraction for `struct cred`

Add a wrapper around `struct cred` called `Credential`, and provide
functionality to get the `Credential` associated with a `File`.

Rust Binder mu

rust: cred: add Rust abstraction for `struct cred`

Add a wrapper around `struct cred` called `Credential`, and provide
functionality to get the `Credential` associated with a `File`.

Rust Binder must check the credentials of processes when they attempt to
perform various operations, and these checks usually take a
`&Credential` as parameter. The security_binder_set_context_mgr function
would be one example. This patch is necessary to access these security_*
methods from Rust.

This Rust abstraction makes the following assumptions about the C side:
* `struct cred` is refcounted with `get_cred`/`put_cred`.
* It's okay to transfer a `struct cred` across threads, that is, you do
not need to call `put_cred` on the same thread as where you called
`get_cred`.
* The `euid` field of a `struct cred` never changes after
initialization.
* The `f_cred` field of a `struct file` never changes after
initialization.

Signed-off-by: Wedson Almeida Filho <[email protected]>
Co-developed-by: Alice Ryhl <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Kees Cook <[email protected]>
Reviewed-by: Paul Moore <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>

show more ...

8518498215-Sep-2024 Wedson Almeida Filho <[email protected]>

rust: file: add Rust abstraction for `struct file`

This abstraction makes it possible to manipulate the open files for a
process. The new `File` struct wraps the C `struct file`. When accessing
it u

rust: file: add Rust abstraction for `struct file`

This abstraction makes it possible to manipulate the open files for a
process. The new `File` struct wraps the C `struct file`. When accessing
it using the smart pointer `ARef<File>`, the pointer will own a
reference count to the file. When accessing it as `&File`, then the
reference does not own a refcount, but the borrow checker will ensure
that the reference count does not hit zero while the `&File` is live.

Since this is intended to manipulate the open files of a process, we
introduce an `fget` constructor that corresponds to the C `fget`
method. In future patches, it will become possible to create a new fd in
a process and bind it to a `File`. Rust Binder will use these to send
fds from one process to another.

We also provide a method for accessing the file's flags. Rust Binder
will use this to access the flags of the Binder fd to check whether the
non-blocking flag is set, which affects what the Binder ioctl does.

This introduces a struct for the EBADF error type, rather than just
using the Error type directly. This has two advantages:
* `File::fget` returns a `Result<ARef<File>, BadFdError>`, which the
compiler will represent as a single pointer, with null being an error.
This is possible because the compiler understands that `BadFdError`
has only one possible value, and it also understands that the
`ARef<File>` smart pointer is guaranteed non-null.
* Additionally, we promise to users of the method that the method can
only fail with EBADF, which means that they can rely on this promise
without having to inspect its implementation.
That said, there are also two disadvantages:
* Defining additional error types involves boilerplate.
* The question mark operator will only utilize the `From` trait once,
which prevents you from using the question mark operator on
`BadFdError` in methods that return some third error type that the
kernel `Error` is convertible into. (However, it works fine in methods
that return `Error`.)

Signed-off-by: Wedson Almeida Filho <[email protected]>
Co-developed-by: Daniel Xu <[email protected]>
Signed-off-by: Daniel Xu <[email protected]>
Co-developed-by: Alice Ryhl <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>

show more ...

913f8cf415-Sep-2024 Alice Ryhl <[email protected]>

rust: task: add `Task::current_raw`

Introduces a safe function for getting a raw pointer to the current
task.

When writing bindings that need to access the current task, it is often
more convenient

rust: task: add `Task::current_raw`

Introduces a safe function for getting a raw pointer to the current
task.

When writing bindings that need to access the current task, it is often
more convenient to call a method that directly returns a raw pointer
than to use the existing `Task::current` method. However, the only way
to do that is `bindings::get_current()` which is unsafe since it calls
into C. By introducing `Task::current_raw()`, it becomes possible to
obtain a pointer to the current task without using unsafe.

Link: https://lore.kernel.org/all/CAH5fLgjT48X-zYtidv31mox3C4_Ogoo_2cBOCmX0Ang3tAgGHA@mail.gmail.com/
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>

show more ...

e7572e5d15-Sep-2024 Alice Ryhl <[email protected]>

rust: types: add `NotThreadSafe`

This introduces a new marker type for types that shouldn't be thread
safe. By adding a field of this type to a struct, it becomes non-Send
and non-Sync, which means

rust: types: add `NotThreadSafe`

This introduces a new marker type for types that shouldn't be thread
safe. By adding a field of this type to a struct, it becomes non-Send
and non-Sync, which means that it cannot be accessed in any way from
threads other than the one it was created on.

This is useful for APIs that require globals such as `current` to remain
constant while the value exists.

We update two existing users in the Kernel to use this helper:

* `Task::current()` - moving the return type of this value to a
different thread would not be safe as you can no longer be guaranteed
that the `current` pointer remains valid.
* Lock guards. Mutexes and spinlocks should be unlocked on the same
thread as where they were locked, so we enforce this using the Send
trait.

There are also additional users in later patches of this patchset. See
[1] and [2] for the discussion that led to the introduction of this
patch.

Link: https://lore.kernel.org/all/nFDPJFnzE9Q5cqY7FwSMByRH2OAn_BpI4H53NQfWIlN6I2qfmAqnkp2wRqn0XjMO65OyZY4h6P4K2nAGKJpAOSzksYXaiAK_FoH_8QbgBI4=@proton.me/ [1]
Link: https://lore.kernel.org/all/nFDPJFnzE9Q5cqY7FwSMByRH2OAn_BpI4H53NQfWIlN6I2qfmAqnkp2wRqn0XjMO65OyZY4h6P4K2nAGKJpAOSzksYXaiAK_FoH_8QbgBI4=@proton.me/ [2]
Suggested-by: Benno Lossin <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>
Reviewed-by: Björn Roy Baron <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>

show more ...

a8ee30f415-Sep-2024 Alice Ryhl <[email protected]>

rust: sync: require `T: Sync` for `LockedBy::access`

The `LockedBy::access` method only requires a shared reference to the
owner, so if we have shared access to the `LockedBy` from several
threads a

rust: sync: require `T: Sync` for `LockedBy::access`

The `LockedBy::access` method only requires a shared reference to the
owner, so if we have shared access to the `LockedBy` from several
threads at once, then two threads could call `access` in parallel and
both obtain a shared reference to the inner value. Thus, require that
`T: Sync` when calling the `access` method.

An alternative is to require `T: Sync` in the `impl Sync for LockedBy`.
This patch does not choose that approach as it gives up the ability to
use `LockedBy` with `!Sync` types, which is okay as long as you only use
`access_mut`.

Cc: [email protected]
Fixes: 7b1f55e3a984 ("rust: sync: introduce `LockedBy`")
Signed-off-by: Alice Ryhl <[email protected]>
Suggested-by: Boqun Feng <[email protected]>
Reviewed-by: Gary Guo <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

ece207a826-Sep-2024 Miguel Ojeda <[email protected]>

rust: kernel: sort Rust modules

Rust modules are intended to be sorted, thus do so.

This makes `rustfmtcheck` to pass again.

Fixes: 570172569238 ("Merge tag 'rust-6.12' of https://github.com/Rust-

rust: kernel: sort Rust modules

Rust modules are intended to be sorted, thus do so.

This makes `rustfmtcheck` to pass again.

Fixes: 570172569238 ("Merge tag 'rust-6.12' of https://github.com/Rust-for-Linux/linux")
Reviewed-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

ab309b6e04-Sep-2024 Miguel Ojeda <[email protected]>

rust: avoid `box_uninit_write` feature

Like commit 0903b9e2a46c ("rust: alloc: eschew
`Box<MaybeUninit<T>>::write`"), but for the new `rbtree` and `alloc` code.

That is, `feature(new_uninit)` [1] g

rust: avoid `box_uninit_write` feature

Like commit 0903b9e2a46c ("rust: alloc: eschew
`Box<MaybeUninit<T>>::write`"), but for the new `rbtree` and `alloc` code.

That is, `feature(new_uninit)` [1] got partially stabilized [2]
for Rust 1.82.0 (expected to be released on 2024-10-17), but it
did not include `Box<MaybeUninit<T>>::write`, which got split into
`feature(box_uninit_write)` [3].

To avoid relying on a new unstable feature, rewrite the `write` +
`assume_init` pair manually.

Link: https://github.com/rust-lang/rust/issues/63291 [1]
Link: https://github.com/rust-lang/rust/pull/129401 [2]
Link: https://github.com/rust-lang/rust/issues/129397 [3]
Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

a335e95922-Aug-2024 Alice Ryhl <[email protected]>

rust: rbtree: add `RBTree::entry`

This mirrors the entry API [1] from the Rust standard library on
`RBTree`. This API can be used to access the entry at a specific key and
make modifications dependi

rust: rbtree: add `RBTree::entry`

This mirrors the entry API [1] from the Rust standard library on
`RBTree`. This API can be used to access the entry at a specific key and
make modifications depending on whether the key is vacant or occupied.
This API is useful because it can often be used to avoid traversing the
tree multiple times.

This is used by binder to look up and conditionally access or insert a
value, depending on whether it is there or not [2].

Link: https://doc.rust-lang.org/stable/std/collections/btree_map/enum.Entry.html [1]
Link: https://android-review.googlesource.com/c/kernel/common/+/2849906 [2]
Signed-off-by: Alice Ryhl <[email protected]>
Tested-by: Alice Ryhl <[email protected]>
Reviewed-by: Boqun Feng <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

98c14e4022-Aug-2024 Matt Gilbride <[email protected]>

rust: rbtree: add cursor

Add a cursor interface to `RBTree`, supporting the following use cases:
- Inspect the current node pointed to by the cursor, inspect/move to
it's neighbors in sort order (

rust: rbtree: add cursor

Add a cursor interface to `RBTree`, supporting the following use cases:
- Inspect the current node pointed to by the cursor, inspect/move to
it's neighbors in sort order (bidirectionally).
- Mutate the tree itself by removing the current node pointed to by the
cursor, or one of its neighbors.

Add functions to obtain a cursor to the tree by key:
- The node with the smallest key
- The node with the largest key
- The node matching the given key, or the one with the next larger key

The cursor abstraction is needed by the binder driver to efficiently
search for nodes and (conditionally) modify them, as well as their
neighbors [1].

Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
Co-developed-by: Alice Ryhl <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Tested-by: Alice Ryhl <[email protected]>
Reviewed-by: Boqun Feng <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

cf5397d122-Aug-2024 Wedson Almeida Filho <[email protected]>

rust: rbtree: add mutable iterator

Add mutable Iterator implementation for `RBTree`,
allowing iteration over (key, value) pairs in key order. Only values are
mutable, as mutating keys implies modify

rust: rbtree: add mutable iterator

Add mutable Iterator implementation for `RBTree`,
allowing iteration over (key, value) pairs in key order. Only values are
mutable, as mutating keys implies modifying a node's position in the tree.

Mutable iteration is used by the binder driver during shutdown to
clean up the tree maintained by the "range allocator" [1].

Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
Signed-off-by: Wedson Almeida Filho <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Tested-by: Alice Ryhl <[email protected]>
Reviewed-by: Boqun Feng <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

e601f1bb22-Aug-2024 Wedson Almeida Filho <[email protected]>

rust: rbtree: add iterator

- Add Iterator implementation for `RBTree`, allowing
iteration over (key, value) pairs in key order.
- Add individual `keys()` and `values()` functions to iterate over k

rust: rbtree: add iterator

- Add Iterator implementation for `RBTree`, allowing
iteration over (key, value) pairs in key order.
- Add individual `keys()` and `values()` functions to iterate over keys
or values alone.
- Update doctests to use iteration instead of explicitly getting items.

Iteration is needed by the binder driver to enumerate all values in a
tree for oneway spam detection [1].

Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
Signed-off-by: Wedson Almeida Filho <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Tested-by: Alice Ryhl <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Boqun Feng <[email protected]>
Signed-off-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

a0d13aac22-Aug-2024 Wedson Almeida Filho <[email protected]>

rust: rbtree: add red-black tree implementation backed by the C version

The rust rbtree exposes a map-like interface over keys and values,
backed by the kernel red-black tree implementation. Values

rust: rbtree: add red-black tree implementation backed by the C version

The rust rbtree exposes a map-like interface over keys and values,
backed by the kernel red-black tree implementation. Values can be
inserted, deleted, and retrieved from a `RBTree` by key.

This base abstraction is used by binder to store key/value
pairs and perform lookups, for example the patch
"[PATCH RFC 03/20] rust_binder: add threading support"
in the binder RFC [1].

Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
Signed-off-by: Wedson Almeida Filho <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Tested-by: Alice Ryhl <[email protected]>
Reviewed-by: Boqun Feng <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Matt Gilbride <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[ Updated link to docs.kernel.org. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

5114e05a28-Aug-2024 FUJITA Tomonori <[email protected]>

rust: net::phy unified genphy_read_status function for C22 and C45 registers

Add unified genphy_read_status function for C22 and C45
registers. Instead of having genphy_c22 and genphy_c45 methods, t

rust: net::phy unified genphy_read_status function for C22 and C45 registers

Add unified genphy_read_status function for C22 and C45
registers. Instead of having genphy_c22 and genphy_c45 methods, this
unifies genphy_read_status functions for C22 and C45.

Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

show more ...

b2e4700228-Aug-2024 FUJITA Tomonori <[email protected]>

rust: net::phy unified read/write API for C22 and C45 registers

Add the unified read/write API for C22 and C45 registers. The
abstractions support access to only C22 registers now. Instead of
adding

rust: net::phy unified read/write API for C22 and C45 registers

Add the unified read/write API for C22 and C45 registers. The
abstractions support access to only C22 registers now. Instead of
adding read/write_c45 methods specifically for C45, a new reg module
supports the unified API to access C22 and C45 registers with trait,
by calling an appropriate phylib functions.

Reviewed-by: Trevor Gross <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

show more ...

7909892a28-Aug-2024 FUJITA Tomonori <[email protected]>

rust: net::phy implement AsRef<kernel::device::Device> trait

Implement AsRef<kernel::device::Device> trait for Device. A PHY driver
needs a reference to device::Device to call the firmware API.

Rev

rust: net::phy implement AsRef<kernel::device::Device> trait

Implement AsRef<kernel::device::Device> trait for Device. A PHY driver
needs a reference to device::Device to call the firmware API.

Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

show more ...

ffd2747d28-Aug-2024 FUJITA Tomonori <[email protected]>

rust: net::phy support probe callback

Support phy_driver probe callback, used to set up device-specific
structures.

Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Andrew Lunn <andrew@l

rust: net::phy support probe callback

Support phy_driver probe callback, used to set up device-specific
structures.

Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

show more ...

4d080a0228-Aug-2024 FUJITA Tomonori <[email protected]>

rust: sizes: add commonly used constants

Add rust equivalent to include/linux/sizes.h, makes code more
readable. Only SZ_*K that QT2025 PHY driver uses are added.

Make generated constants accessibl

rust: sizes: add commonly used constants

Add rust equivalent to include/linux/sizes.h, makes code more
readable. Only SZ_*K that QT2025 PHY driver uses are added.

Make generated constants accessible with a proper type.

Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

show more ...


/linux-6.15/.gitignore
/linux-6.15/.mailmap
/linux-6.15/Documentation/ABI/testing/sysfs-bus-i2c-devices-turris-omnia-mcu
/linux-6.15/Documentation/ABI/testing/sysfs-devices-system-cpu
/linux-6.15/Documentation/admin-guide/cifs/usage.rst
/linux-6.15/Documentation/admin-guide/device-mapper/dm-crypt.rst
/linux-6.15/Documentation/admin-guide/kernel-parameters.txt
/linux-6.15/Documentation/arch/arm64/silicon-errata.rst
/linux-6.15/Documentation/arch/riscv/hwprobe.rst
/linux-6.15/Documentation/core-api/workqueue.rst
/linux-6.15/Documentation/dev-tools/gcov.rst
/linux-6.15/Documentation/devicetree/bindings/ata/rockchip,dwc-ahci.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,dispcc-sm6350.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6115-gpucc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6125-gpucc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6375-dispcc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm6375-gpucc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm8350-videocc.yaml
/linux-6.15/Documentation/devicetree/bindings/clock/qcom,sm8450-gpucc.yaml
/linux-6.15/Documentation/devicetree/bindings/display/msm/qcom,sm6375-mdss.yaml
/linux-6.15/Documentation/devicetree/bindings/display/panel/asus,z00t-tm5p5-nt35596.yaml
/linux-6.15/Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml
/linux-6.15/Documentation/devicetree/bindings/display/panel/sony,td4353-jdi.yaml
/linux-6.15/Documentation/devicetree/bindings/eeprom/at25.yaml
/linux-6.15/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
/linux-6.15/Documentation/devicetree/bindings/interconnect/qcom,sc7280-rpmh.yaml
/linux-6.15/Documentation/devicetree/bindings/interconnect/qcom,sc8280xp-rpmh.yaml
/linux-6.15/Documentation/devicetree/bindings/interconnect/qcom,sm8450-rpmh.yaml
/linux-6.15/Documentation/devicetree/bindings/iommu/qcom,iommu.yaml
/linux-6.15/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml
/linux-6.15/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
/linux-6.15/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
/linux-6.15/Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.yaml
/linux-6.15/Documentation/devicetree/bindings/net/fsl,qoriq-mc-dpmac.yaml
/linux-6.15/Documentation/devicetree/bindings/net/mdio.yaml
/linux-6.15/Documentation/devicetree/bindings/net/mediatek,net.yaml
/linux-6.15/Documentation/devicetree/bindings/net/pse-pd/ti,tps23881.yaml
/linux-6.15/Documentation/devicetree/bindings/net/renesas,etheravb.yaml
/linux-6.15/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
/linux-6.15/Documentation/devicetree/bindings/net/snps,dwmac.yaml
/linux-6.15/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
/linux-6.15/Documentation/devicetree/bindings/pinctrl/qcom,mdm9607-tlmm.yaml
/linux-6.15/Documentation/devicetree/bindings/pinctrl/qcom,sm6350-tlmm.yaml
/linux-6.15/Documentation/devicetree/bindings/pinctrl/qcom,sm6375-tlmm.yaml
/linux-6.15/Documentation/devicetree/bindings/ptp/fsl,ptp.yaml
/linux-6.15/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml
/linux-6.15/Documentation/devicetree/bindings/soc/qcom/qcom,rpm-master-stats.yaml
/linux-6.15/Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
/linux-6.15/Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml
/linux-6.15/Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml
/linux-6.15/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml
/linux-6.15/Documentation/devicetree/bindings/sound/qcom,wcd939x.yaml
/linux-6.15/Documentation/devicetree/bindings/usb/microchip,usb2514.yaml
/linux-6.15/Documentation/driver-api/dpll.rst
/linux-6.15/Documentation/driver-api/thermal/sysfs-api.rst
/linux-6.15/Documentation/filesystems/caching/fscache.rst
/linux-6.15/Documentation/filesystems/erofs.rst
/linux-6.15/Documentation/filesystems/smb/ksmbd.rst
/linux-6.15/Documentation/kbuild/llvm.rst
/linux-6.15/Documentation/netlink/specs/dpll.yaml
/linux-6.15/Documentation/netlink/specs/ethtool.yaml
/linux-6.15/Documentation/netlink/specs/rt_link.yaml
/linux-6.15/Documentation/networking/ethtool-netlink.rst
/linux-6.15/Documentation/networking/index.rst
/linux-6.15/Documentation/networking/ip-sysctl.rst
/linux-6.15/Documentation/networking/l2tp.rst
/linux-6.15/Documentation/networking/multi-pf-netdev.rst
/linux-6.15/Documentation/networking/phy-link-topology.rst
/linux-6.15/Documentation/process/coding-style.rst
/linux-6.15/Documentation/process/embargoed-hardware-issues.rst
/linux-6.15/Documentation/process/maintainer-netdev.rst
/linux-6.15/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
/linux-6.15/Documentation/virt/kvm/api.rst
/linux-6.15/Documentation/wmi/devices/msi-wmi-platform.rst
/linux-6.15/MAINTAINERS
/linux-6.15/Makefile
/linux-6.15/arch/alpha/include/asm/io.h
/linux-6.15/arch/arm/Kconfig
/linux-6.15/arch/arm/boot/compressed/Makefile
/linux-6.15/arch/arm/boot/compressed/vmlinux.lds.S
/linux-6.15/arch/arm/boot/dts/arm/versatile-ab.dts
/linux-6.15/arch/arm/include/asm/stacktrace.h
/linux-6.15/arch/arm/include/asm/vmlinux.lds.h
/linux-6.15/arch/arm/kernel/entry-armv.S
/linux-6.15/arch/arm/kernel/entry-common.S
/linux-6.15/arch/arm/kernel/module.c
/linux-6.15/arch/arm/kernel/perf_callchain.c
/linux-6.15/arch/arm/kernel/vmlinux-xip.lds.S
/linux-6.15/arch/arm/kernel/vmlinux.lds.S
/linux-6.15/arch/arm/mach-alpine/alpine_cpu_pm.c
/linux-6.15/arch/arm/mach-pxa/gumstix.c
/linux-6.15/arch/arm/mach-rpc/ecard.c
/linux-6.15/arch/arm/mm/proc.c
/linux-6.15/arch/arm64/Kconfig
/linux-6.15/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi
/linux-6.15/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
/linux-6.15/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
/linux-6.15/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
/linux-6.15/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
/linux-6.15/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
/linux-6.15/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
/linux-6.15/arch/arm64/include/asm/cputype.h
/linux-6.15/arch/arm64/include/asm/jump_label.h
/linux-6.15/arch/arm64/include/asm/kvm_ptrauth.h
/linux-6.15/arch/arm64/include/asm/uaccess.h
/linux-6.15/arch/arm64/kernel/Makefile.syscalls
/linux-6.15/arch/arm64/kernel/acpi_numa.c
/linux-6.15/arch/arm64/kernel/cpu_errata.c
/linux-6.15/arch/arm64/kernel/jump_label.c
/linux-6.15/arch/arm64/kernel/setup.c
/linux-6.15/arch/arm64/kernel/smp.c
/linux-6.15/arch/arm64/kvm/Kconfig
/linux-6.15/arch/arm64/kvm/Makefile
/linux-6.15/arch/arm64/kvm/arm.c
/linux-6.15/arch/arm64/kvm/hyp/include/hyp/switch.h
/linux-6.15/arch/arm64/kvm/hyp/nvhe/Makefile
/linux-6.15/arch/arm64/kvm/hyp/nvhe/switch.c
/linux-6.15/arch/arm64/kvm/hyp/vhe/Makefile
/linux-6.15/arch/arm64/kvm/mmu.c
/linux-6.15/arch/arm64/kvm/nested.c
/linux-6.15/arch/arm64/kvm/sys_regs.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-debug.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-init.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-irqfd.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-its.c
/linux-6.15/arch/arm64/kvm/vgic/vgic-v3.c
/linux-6.15/arch/arm64/kvm/vgic/vgic.c
/linux-6.15/arch/arm64/kvm/vgic/vgic.h
/linux-6.15/arch/loongarch/include/asm/hugetlb.h
/linux-6.15/arch/loongarch/include/asm/hw_irq.h
/linux-6.15/arch/loongarch/include/asm/kfence.h
/linux-6.15/arch/loongarch/include/asm/kvm_host.h
/linux-6.15/arch/loongarch/include/asm/kvm_para.h
/linux-6.15/arch/loongarch/include/asm/kvm_vcpu.h
/linux-6.15/arch/loongarch/include/asm/pgtable.h
/linux-6.15/arch/loongarch/kernel/Makefile.syscalls
/linux-6.15/arch/loongarch/kernel/efi.c
/linux-6.15/arch/loongarch/kernel/fpu.S
/linux-6.15/arch/loongarch/kernel/irq.c
/linux-6.15/arch/loongarch/kvm/mmu.c
/linux-6.15/arch/loongarch/kvm/switch.S
/linux-6.15/arch/loongarch/kvm/timer.c
/linux-6.15/arch/loongarch/kvm/vcpu.c
/linux-6.15/arch/loongarch/mm/hugetlbpage.c
/linux-6.15/arch/loongarch/mm/init.c
/linux-6.15/arch/loongarch/mm/kasan_init.c
/linux-6.15/arch/loongarch/mm/pgtable.c
/linux-6.15/arch/mips/kernel/cevt-r4k.c
/linux-6.15/arch/mips/kernel/cpu-probe.c
/linux-6.15/arch/mips/sgi-ip22/ip22-gio.c
/linux-6.15/arch/parisc/Kconfig
/linux-6.15/arch/parisc/include/asm/cache.h
/linux-6.15/arch/parisc/net/bpf_jit_core.c
/linux-6.15/arch/powerpc/include/asm/topology.h
/linux-6.15/arch/powerpc/kernel/setup-common.c
/linux-6.15/arch/powerpc/mm/init-common.c
/linux-6.15/arch/powerpc/mm/mem.c
/linux-6.15/arch/riscv/include/asm/hwprobe.h
/linux-6.15/arch/riscv/include/uapi/asm/hwprobe.h
/linux-6.15/arch/riscv/kernel/Makefile.syscalls
/linux-6.15/arch/riscv/kernel/acpi_numa.c
/linux-6.15/arch/riscv/kernel/cpufeature.c
/linux-6.15/arch/riscv/kernel/patch.c
/linux-6.15/arch/riscv/kernel/sbi-ipi.c
/linux-6.15/arch/riscv/kernel/sys_hwprobe.c
/linux-6.15/arch/riscv/kernel/traps.c
/linux-6.15/arch/riscv/kernel/traps_misaligned.c
/linux-6.15/arch/riscv/kernel/unaligned_access_speed.c
/linux-6.15/arch/riscv/kernel/vendor_extensions.c
/linux-6.15/arch/riscv/mm/fault.c
/linux-6.15/arch/riscv/mm/init.c
/linux-6.15/arch/riscv/purgatory/entry.S
/linux-6.15/arch/s390/Kconfig
/linux-6.15/arch/s390/boot/startup.c
/linux-6.15/arch/s390/boot/vmem.c
/linux-6.15/arch/s390/boot/vmlinux.lds.S
/linux-6.15/arch/s390/include/asm/page.h
/linux-6.15/arch/s390/include/asm/uv.h
/linux-6.15/arch/s390/kernel/fpu.c
/linux-6.15/arch/s390/kernel/setup.c
/linux-6.15/arch/s390/kernel/vmlinux.lds.S
/linux-6.15/arch/s390/kvm/kvm-s390.h
/linux-6.15/arch/s390/mm/dump_pagetables.c
/linux-6.15/arch/s390/mm/init.c
/linux-6.15/arch/s390/mm/vmem.c
/linux-6.15/arch/s390/tools/relocs.c
/linux-6.15/arch/um/drivers/mconsole_user.c
/linux-6.15/arch/x86/coco/sev/core.c
/linux-6.15/arch/x86/entry/syscalls/syscall_64.tbl
/linux-6.15/arch/x86/events/core.c
/linux-6.15/arch/x86/events/intel/cstate.c
/linux-6.15/arch/x86/include/asm/cmdline.h
/linux-6.15/arch/x86/include/asm/kvm_host.h
/linux-6.15/arch/x86/include/asm/qspinlock.h
/linux-6.15/arch/x86/kernel/acpi/madt_wakeup.c
/linux-6.15/arch/x86/kernel/cpu/amd.c
/linux-6.15/arch/x86/kernel/cpu/aperfmperf.c
/linux-6.15/arch/x86/kernel/cpu/mtrr/mtrr.c
/linux-6.15/arch/x86/kernel/paravirt.c
/linux-6.15/arch/x86/kernel/setup.c
/linux-6.15/arch/x86/kvm/Kconfig
/linux-6.15/arch/x86/kvm/hyperv.h
/linux-6.15/arch/x86/kvm/lapic.c
/linux-6.15/arch/x86/kvm/mmu/mmu.c
/linux-6.15/arch/x86/kvm/svm/sev.c
/linux-6.15/arch/x86/kvm/svm/svm.c
/linux-6.15/arch/x86/kvm/x86.c
/linux-6.15/arch/x86/lib/cmdline.c
/linux-6.15/arch/x86/lib/getuser.S
/linux-6.15/arch/x86/mm/pti.c
/linux-6.15/block/blk-lib.c
/linux-6.15/block/blk-mq-tag.c
/linux-6.15/block/blk-throttle.c
/linux-6.15/drivers/accessibility/speakup/genmap.c
/linux-6.15/drivers/accessibility/speakup/makemapdata.c
/linux-6.15/drivers/acpi/acpica/acevents.h
/linux-6.15/drivers/acpi/acpica/evregion.c
/linux-6.15/drivers/acpi/acpica/evxfregn.c
/linux-6.15/drivers/acpi/ec.c
/linux-6.15/drivers/acpi/internal.h
/linux-6.15/drivers/acpi/scan.c
/linux-6.15/drivers/acpi/video_detect.c
/linux-6.15/drivers/android/binder.c
/linux-6.15/drivers/android/binder_alloc.c
/linux-6.15/drivers/android/dbitmap.h
/linux-6.15/drivers/ata/libata-scsi.c
/linux-6.15/drivers/ata/pata_macio.c
/linux-6.15/drivers/atm/idt77252.c
/linux-6.15/drivers/base/core.c
/linux-6.15/drivers/base/module.c
/linux-6.15/drivers/bluetooth/Kconfig
/linux-6.15/drivers/bluetooth/btintel.c
/linux-6.15/drivers/bluetooth/btintel_pcie.c
/linux-6.15/drivers/bluetooth/btmtk.c
/linux-6.15/drivers/bluetooth/btmtksdio.c
/linux-6.15/drivers/bluetooth/btnxpuart.c
/linux-6.15/drivers/bluetooth/btrtl.c
/linux-6.15/drivers/bluetooth/btusb.c
/linux-6.15/drivers/bluetooth/hci_qca.c
/linux-6.15/drivers/bluetooth/hci_vhci.c
/linux-6.15/drivers/cache/Kconfig
/linux-6.15/drivers/char/ds1620.c
/linux-6.15/drivers/char/nwbutton.c
/linux-6.15/drivers/char/nwflash.c
/linux-6.15/drivers/char/tpm/tpm_ibmvtpm.c
/linux-6.15/drivers/char/xillybus/xillyusb.c
/linux-6.15/drivers/clk/thead/clk-th1520-ap.c
/linux-6.15/drivers/cpufreq/intel_pstate.c
/linux-6.15/drivers/cxl/core/pci.c
/linux-6.15/drivers/dpll/dpll_netlink.c
/linux-6.15/drivers/dpll/dpll_nl.c
/linux-6.15/drivers/edac/skx_common.h
/linux-6.15/drivers/firmware/efi/libstub/Makefile
/linux-6.15/drivers/fsi/fsi-core.c
/linux-6.15/drivers/fsi/fsi-master-aspeed.c
/linux-6.15/drivers/fsi/fsi-master-ast-cf.c
/linux-6.15/drivers/fsi/fsi-master-gpio.c
/linux-6.15/drivers/fsi/fsi-master-hub.c
/linux-6.15/drivers/fsi/fsi-scom.c
/linux-6.15/drivers/gpio/gpio-mlxbf3.c
/linux-6.15/drivers/gpu/drm/Kconfig
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.h
/linux-6.15/drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/mmhub_v4_1_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
/linux-6.15/drivers/gpu/drm/amd/amdgpu/soc15d.h
/linux-6.15/drivers/gpu/drm/amd/amdgpu/soc24.c
/linux-6.15/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
/linux-6.15/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/linux-6.15/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
/linux-6.15/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/dml/Makefile
/linux-6.15/drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
/linux-6.15/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.h
/linux-6.15/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_ddc.c
/linux-6.15/drivers/gpu/drm/amd/include/mes_v11_api_def.h
/linux-6.15/drivers/gpu/drm/amd/include/mes_v12_api_def.h
/linux-6.15/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
/linux-6.15/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppevvmath.h
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0_2_pptable.h
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c
/linux-6.15/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
/linux-6.15/drivers/gpu/drm/ast/ast_dp.c
/linux-6.15/drivers/gpu/drm/ast/ast_drv.c
/linux-6.15/drivers/gpu/drm/ast/ast_drv.h
/linux-6.15/drivers/gpu/drm/ast/ast_mode.c
/linux-6.15/drivers/gpu/drm/drm_atomic_uapi.c
/linux-6.15/drivers/gpu/drm/drm_bridge_connector.c
/linux-6.15/drivers/gpu/drm/drm_buddy.c
/linux-6.15/drivers/gpu/drm/drm_client.c
/linux-6.15/drivers/gpu/drm/drm_client_modeset.c
/linux-6.15/drivers/gpu/drm/drm_fb_helper.c
/linux-6.15/drivers/gpu/drm/drm_panel_orientation_quirks.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_backlight.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
/linux-6.15/drivers/gpu/drm/i915/display/intel_hdcp_regs.h
/linux-6.15/drivers/gpu/drm/i915/display/intel_pps.c
/linux-6.15/drivers/gpu/drm/i915/gem/i915_gem_mman.c
/linux-6.15/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
/linux-6.15/drivers/gpu/drm/i915/i915_perf.c
/linux-6.15/drivers/gpu/drm/mediatek/mtk_drm_drv.c
/linux-6.15/drivers/gpu/drm/msm/adreno/adreno_gpu.c
/linux-6.15/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
/linux-6.15/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
/linux-6.15/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
/linux-6.15/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
/linux-6.15/drivers/gpu/drm/msm/dp/dp_ctrl.c
/linux-6.15/drivers/gpu/drm/msm/dp/dp_panel.c
/linux-6.15/drivers/gpu/drm/msm/msm_mdss.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_bo.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_chan.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_dmem.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_fence.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_fence.h
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_gem.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_prime.c
/linux-6.15/drivers/gpu/drm/nouveau/nouveau_uvmm.c
/linux-6.15/drivers/gpu/drm/nouveau/nvkm/core/firmware.c
/linux-6.15/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c
/linux-6.15/drivers/gpu/drm/omapdrm/Kconfig
/linux-6.15/drivers/gpu/drm/radeon/evergreen_cs.c
/linux-6.15/drivers/gpu/drm/rockchip/inno_hdmi.c
/linux-6.15/drivers/gpu/drm/tests/drm_gem_shmem_test.c
/linux-6.15/drivers/gpu/drm/v3d/v3d_drv.h
/linux-6.15/drivers/gpu/drm/v3d/v3d_sched.c
/linux-6.15/drivers/gpu/drm/v3d/v3d_submit.c
/linux-6.15/drivers/gpu/drm/virtio/virtgpu_submit.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmw_surface_cache.h
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_bo.h
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
/linux-6.15/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
/linux-6.15/drivers/gpu/drm/xe/Makefile
/linux-6.15/drivers/gpu/drm/xe/display/xe_display.c
/linux-6.15/drivers/gpu/drm/xe/display/xe_dsb_buffer.c
/linux-6.15/drivers/gpu/drm/xe/display/xe_fb_pin.c
/linux-6.15/drivers/gpu/drm/xe/regs/xe_gt_regs.h
/linux-6.15/drivers/gpu/drm/xe/xe_bo.c
/linux-6.15/drivers/gpu/drm/xe/xe_device.c
/linux-6.15/drivers/gpu/drm/xe/xe_device.h
/linux-6.15/drivers/gpu/drm/xe/xe_device_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_drm_client.c
/linux-6.15/drivers/gpu/drm/xe/xe_exec_queue.c
/linux-6.15/drivers/gpu/drm/xe/xe_exec_queue_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_gsc.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_pagefault.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
/linux-6.15/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
/linux-6.15/drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_gt_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_guc_ct.c
/linux-6.15/drivers/gpu/drm/xe/xe_guc_submit.c
/linux-6.15/drivers/gpu/drm/xe/xe_hw_fence.c
/linux-6.15/drivers/gpu/drm/xe/xe_hw_fence_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_hwmon.c
/linux-6.15/drivers/gpu/drm/xe/xe_lrc.c
/linux-6.15/drivers/gpu/drm/xe/xe_mmio.c
/linux-6.15/drivers/gpu/drm/xe/xe_observation.c
/linux-6.15/drivers/gpu/drm/xe/xe_pat.c
/linux-6.15/drivers/gpu/drm/xe/xe_pm.c
/linux-6.15/drivers/gpu/drm/xe/xe_preempt_fence.c
/linux-6.15/drivers/gpu/drm/xe/xe_preempt_fence_types.h
/linux-6.15/drivers/gpu/drm/xe/xe_pt.c
/linux-6.15/drivers/gpu/drm/xe/xe_rtp.c
/linux-6.15/drivers/gpu/drm/xe/xe_sched_job.c
/linux-6.15/drivers/gpu/drm/xe/xe_sync.c
/linux-6.15/drivers/gpu/drm/xe/xe_trace.h
/linux-6.15/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
/linux-6.15/drivers/gpu/drm/xe/xe_vm.c
/linux-6.15/drivers/gpu/drm/xe/xe_wa.c
/linux-6.15/drivers/gpu/drm/xe/xe_wa_oob.rules
/linux-6.15/drivers/hid/amd-sfh-hid/amd_sfh_client.c
/linux-6.15/drivers/hid/amd-sfh-hid/amd_sfh_hid.c
/linux-6.15/drivers/hid/bpf/Kconfig
/linux-6.15/drivers/hid/bpf/hid_bpf_struct_ops.c
/linux-6.15/drivers/hid/hid-asus.c
/linux-6.15/drivers/hid/hid-cougar.c
/linux-6.15/drivers/hid/hid-ids.h
/linux-6.15/drivers/hid/hid-multitouch.c
/linux-6.15/drivers/hid/wacom_wac.c
/linux-6.15/drivers/hwmon/adt7475.c
/linux-6.15/drivers/i2c/busses/i2c-qcom-geni.c
/linux-6.15/drivers/i2c/busses/i2c-tegra.c
/linux-6.15/drivers/i2c/i2c-slave-testunit.c
/linux-6.15/drivers/i2c/i2c-smbus.c
/linux-6.15/drivers/input/input-mt.c
/linux-6.15/drivers/input/joystick/adc-joystick.c
/linux-6.15/drivers/input/misc/uinput.c
/linux-6.15/drivers/input/mouse/synaptics.c
/linux-6.15/drivers/input/serio/i8042-acpipnpio.h
/linux-6.15/drivers/input/serio/i8042.c
/linux-6.15/drivers/input/touchscreen/ads7846.c
/linux-6.15/drivers/input/touchscreen/cyttsp4_core.c
/linux-6.15/drivers/input/touchscreen/edt-ft5x06.c
/linux-6.15/drivers/input/touchscreen/himax_hx83112b.c
/linux-6.15/drivers/iommu/io-pgfault.c
/linux-6.15/drivers/iommu/iommufd/device.c
/linux-6.15/drivers/iommu/iommufd/selftest.c
/linux-6.15/drivers/irqchip/irq-loongarch-cpu.c
/linux-6.15/drivers/irqchip/irq-mbigen.c
/linux-6.15/drivers/irqchip/irq-meson-gpio.c
/linux-6.15/drivers/irqchip/irq-pic32-evic.c
/linux-6.15/drivers/irqchip/irq-riscv-aplic-msi.c
/linux-6.15/drivers/irqchip/irq-sun6i-r.c
/linux-6.15/drivers/irqchip/irq-xilinx-intc.c
/linux-6.15/drivers/md/dm-ioctl.c
/linux-6.15/drivers/md/dm.c
/linux-6.15/drivers/md/persistent-data/dm-space-map-metadata.c
/linux-6.15/drivers/md/raid1.c
/linux-6.15/drivers/media/dvb-frontends/stv0367_priv.h
/linux-6.15/drivers/media/pci/intel/ipu6/Kconfig
/linux-6.15/drivers/media/usb/dvb-usb/dvb-usb-init.c
/linux-6.15/drivers/media/usb/uvc/uvc_ctrl.c
/linux-6.15/drivers/misc/Kconfig
/linux-6.15/drivers/misc/eeprom/ee1004.c
/linux-6.15/drivers/misc/fastrpc.c
/linux-6.15/drivers/misc/lkdtm/refcount.c
/linux-6.15/drivers/mmc/core/mmc_test.c
/linux-6.15/drivers/mmc/host/dw_mmc.c
/linux-6.15/drivers/mmc/host/mtk-sd.c
/linux-6.15/drivers/net/bonding/bond_main.c
/linux-6.15/drivers/net/bonding/bond_options.c
/linux-6.15/drivers/net/can/esd/esd_402_pci-core.c
/linux-6.15/drivers/net/can/esd/esdacc.c
/linux-6.15/drivers/net/can/esd/esdacc.h
/linux-6.15/drivers/net/can/flexcan/flexcan-core.c
/linux-6.15/drivers/net/can/flexcan/flexcan.h
/linux-6.15/drivers/net/can/usb/etas_es58x/es58x_devlink.c
/linux-6.15/drivers/net/can/usb/kvaser_usb/kvaser_usb.h
/linux-6.15/drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c
/linux-6.15/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
/linux-6.15/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c
/linux-6.15/drivers/net/dsa/b53/b53_mdio.c
/linux-6.15/drivers/net/dsa/bcm_sf2.c
/linux-6.15/drivers/net/dsa/microchip/ksz8.h
/linux-6.15/drivers/net/dsa/microchip/ksz8795.c
/linux-6.15/drivers/net/dsa/microchip/ksz9477.c
/linux-6.15/drivers/net/dsa/microchip/ksz9477.h
/linux-6.15/drivers/net/dsa/microchip/ksz9477_reg.h
/linux-6.15/drivers/net/dsa/microchip/ksz_common.c
/linux-6.15/drivers/net/dsa/microchip/ksz_common.h
/linux-6.15/drivers/net/dsa/microchip/ksz_dcb.c
/linux-6.15/drivers/net/dsa/microchip/ksz_ptp.c
/linux-6.15/drivers/net/dsa/microchip/ksz_spi.c
/linux-6.15/drivers/net/dsa/mt7530-mmio.c
/linux-6.15/drivers/net/dsa/mt7530.c
/linux-6.15/drivers/net/dsa/mt7530.h
/linux-6.15/drivers/net/dsa/mv88e6xxx/global1_atu.c
/linux-6.15/drivers/net/dsa/mv88e6xxx/global2_scratch.c
/linux-6.15/drivers/net/dsa/ocelot/felix.c
/linux-6.15/drivers/net/dsa/realtek/rtl83xx.c
/linux-6.15/drivers/net/dsa/sja1105/sja1105_main.c
/linux-6.15/drivers/net/dsa/vitesse-vsc73xx-core.c
/linux-6.15/drivers/net/ethernet/alacritech/slicoss.c
/linux-6.15/drivers/net/ethernet/alteon/acenic.c
/linux-6.15/drivers/net/ethernet/alteon/acenic.h
/linux-6.15/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
/linux-6.15/drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
/linux-6.15/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
/linux-6.15/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
/linux-6.15/drivers/net/ethernet/amd/xgbe/xgbe.h
/linux-6.15/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
/linux-6.15/drivers/net/ethernet/atheros/ag71xx.c
/linux-6.15/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
/linux-6.15/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
/linux-6.15/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt.h
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_debugfs.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
/linux-6.15/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
/linux-6.15/drivers/net/ethernet/broadcom/cnic.c
/linux-6.15/drivers/net/ethernet/broadcom/cnic.h
/linux-6.15/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c
/linux-6.15/drivers/net/ethernet/cadence/macb.h
/linux-6.15/drivers/net/ethernet/cadence/macb_main.c
/linux-6.15/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.h
/linux-6.15/drivers/net/ethernet/cavium/liquidio/cn66xx_device.h
/linux-6.15/drivers/net/ethernet/cavium/liquidio/octeon_device.h
/linux-6.15/drivers/net/ethernet/cavium/liquidio/octeon_droq.h
/linux-6.15/drivers/net/ethernet/cavium/liquidio/octeon_iq.h
/linux-6.15/drivers/net/ethernet/cavium/thunder/nicvf_queues.h
/linux-6.15/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
/linux-6.15/drivers/net/ethernet/cavium/thunder/thunder_bgx.h
/linux-6.15/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
/linux-6.15/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h
/linux-6.15/drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c
/linux-6.15/drivers/net/ethernet/davicom/dm9051.c
/linux-6.15/drivers/net/ethernet/dlink/dl2k.c
/linux-6.15/drivers/net/ethernet/faraday/ftgmac100.c
/linux-6.15/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
/linux-6.15/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
/linux-6.15/drivers/net/ethernet/freescale/fec_main.c
/linux-6.15/drivers/net/ethernet/freescale/fec_ptp.c
/linux-6.15/drivers/net/ethernet/freescale/fman/fman_port.c
/linux-6.15/drivers/net/ethernet/freescale/fs_enet/mac-scc.c
/linux-6.15/drivers/net/ethernet/fungible/funcore/fun_dev.c
/linux-6.15/drivers/net/ethernet/google/gve/gve.h
/linux-6.15/drivers/net/ethernet/google/gve/gve_adminq.c
/linux-6.15/drivers/net/ethernet/google/gve/gve_adminq.h
/linux-6.15/drivers/net/ethernet/google/gve/gve_ethtool.c
/linux-6.15/drivers/net/ethernet/google/gve/gve_main.c
/linux-6.15/drivers/net/ethernet/hisilicon/hip04_eth.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c
/linux-6.15/drivers/net/ethernet/hisilicon/hns_mdio.c
/linux-6.15/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c
/linux-6.15/drivers/net/ethernet/ibm/ehea/ehea_main.c
/linux-6.15/drivers/net/ethernet/ibm/ibmveth.c
/linux-6.15/drivers/net/ethernet/ibm/ibmvnic.c
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf.h
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf_fdir.c
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf_fdir.h
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf_main.c
/linux-6.15/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
/linux-6.15/drivers/net/ethernet/intel/ice/Makefile
/linux-6.15/drivers/net/ethernet/intel/ice/devlink/devlink_port.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_base.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_common.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_controlq.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_controlq.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_ddp.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_ddp.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_dpll.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_dpll.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_ethtool.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_flex_pipe.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_flow.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_flow.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_main.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_osdep.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_parser.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_parser.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_parser_rt.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_ptp.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_sched.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_txrx.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_type.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_vf_lib.h
/linux-6.15/drivers/net/ethernet/intel/ice/ice_virtchnl.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_xsk.c
/linux-6.15/drivers/net/ethernet/intel/ice/ice_xsk.h
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_lib.c
/linux-6.15/drivers/net/ethernet/intel/idpf/idpf_txrx.c
/linux-6.15/drivers/net/ethernet/intel/igb/igb_main.c
/linux-6.15/drivers/net/ethernet/intel/igbvf/igbvf.h
/linux-6.15/drivers/net/ethernet/intel/igbvf/mbx.h
/linux-6.15/drivers/net/ethernet/intel/igc/igc_defines.h
/linux-6.15/drivers/net/ethernet/intel/igc/igc_main.c
/linux-6.15/drivers/net/ethernet/intel/igc/igc_tsn.c
/linux-6.15/drivers/net/ethernet/intel/igc/igc_tsn.h
/linux-6.15/drivers/net/ethernet/jme.c
/linux-6.15/drivers/net/ethernet/lantiq_etop.c
/linux-6.15/drivers/net/ethernet/marvell/mvneta.c
/linux-6.15/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
/linux-6.15/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
/linux-6.15/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.h
/linux-6.15/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
/linux-6.15/drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c
/linux-6.15/drivers/net/ethernet/mediatek/airoha_eth.c
/linux-6.15/drivers/net/ethernet/mediatek/mtk_eth_soc.h
/linux-6.15/drivers/net/ethernet/mediatek/mtk_ppe.c
/linux-6.15/drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c
/linux-6.15/drivers/net/ethernet/mediatek/mtk_wed.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/params.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/params.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en_tc.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/eq.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/fw.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/irq_affinity.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/main.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c
/linux-6.15/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h
/linux-6.15/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c
/linux-6.15/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_regs.h
/linux-6.15/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c
/linux-6.15/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
/linux-6.15/drivers/net/ethernet/meta/Kconfig
/linux-6.15/drivers/net/ethernet/meta/fbnic/fbnic_netdev.c
/linux-6.15/drivers/net/ethernet/meta/fbnic/fbnic_netdev.h
/linux-6.15/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
/linux-6.15/drivers/net/ethernet/meta/fbnic/fbnic_txrx.h
/linux-6.15/drivers/net/ethernet/microsoft/mana/hw_channel.c
/linux-6.15/drivers/net/ethernet/microsoft/mana/mana_en.c
/linux-6.15/drivers/net/ethernet/microsoft/mana/mana_ethtool.c
/linux-6.15/drivers/net/ethernet/mscc/ocelot.c
/linux-6.15/drivers/net/ethernet/mscc/ocelot_fdma.c
/linux-6.15/drivers/net/ethernet/mscc/ocelot_vcap.c
/linux-6.15/drivers/net/ethernet/mscc/ocelot_vsc7514.c
/linux-6.15/drivers/net/ethernet/netronome/nfp/bpf/jit.c
/linux-6.15/drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c
/linux-6.15/drivers/net/ethernet/pensando/ionic/ionic_dev.h
/linux-6.15/drivers/net/ethernet/pensando/ionic/ionic_lif.c
/linux-6.15/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
/linux-6.15/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
/linux-6.15/drivers/net/ethernet/realtek/r8169_main.c
/linux-6.15/drivers/net/ethernet/sfc/ef100_ethtool.c
/linux-6.15/drivers/net/ethernet/sfc/ethtool.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/common.h
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac1000_dma.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac_dma.h
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/hwif.h
/linux-6.15/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/linux-6.15/drivers/net/ethernet/sun/sunvnet.c
/linux-6.15/drivers/net/ethernet/ti/am65-cpsw-nuss.c
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_ethtool.c
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_prueth.c
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_prueth.h
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_stats.c
/linux-6.15/drivers/net/ethernet/ti/icssg/icssg_stats.h
/linux-6.15/drivers/net/ethernet/vertexcom/mse102x.c
/linux-6.15/drivers/net/ethernet/wangxun/libwx/wx_lib.c
/linux-6.15/drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c
/linux-6.15/drivers/net/ethernet/wangxun/txgbe/txgbe_hw.c
/linux-6.15/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
/linux-6.15/drivers/net/ethernet/xilinx/xilinx_axienet.h
/linux-6.15/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
/linux-6.15/drivers/net/fjes/fjes_main.c
/linux-6.15/drivers/net/gtp.c
/linux-6.15/drivers/net/hyperv/hyperv_net.h
/linux-6.15/drivers/net/hyperv/netvsc_bpf.c
/linux-6.15/drivers/net/hyperv/netvsc_drv.c
/linux-6.15/drivers/net/ipa/ipa_power.c
/linux-6.15/drivers/net/mdio/of_mdio.c
/linux-6.15/drivers/net/netconsole.c
/linux-6.15/drivers/net/phy/Kconfig
/linux-6.15/drivers/net/phy/Makefile
/linux-6.15/drivers/net/phy/aquantia/aquantia_main.c
/linux-6.15/drivers/net/phy/dp83td510.c
/linux-6.15/drivers/net/phy/dp83tg720.c
/linux-6.15/drivers/net/phy/marvell-88x2222.c
/linux-6.15/drivers/net/phy/marvell.c
/linux-6.15/drivers/net/phy/marvell10g.c
/linux-6.15/drivers/net/phy/micrel.c
/linux-6.15/drivers/net/phy/microchip_t1.c
/linux-6.15/drivers/net/phy/open_alliance_helpers.c
/linux-6.15/drivers/net/phy/open_alliance_helpers.h
/linux-6.15/drivers/net/phy/phy.c
/linux-6.15/drivers/net/phy/phy_device.c
/linux-6.15/drivers/net/phy/phy_link_topology.c
/linux-6.15/drivers/net/phy/phylink.c
/linux-6.15/drivers/net/phy/qcom/at803x.c
/linux-6.15/drivers/net/phy/qcom/qca807x.c
/linux-6.15/drivers/net/phy/realtek.c
/linux-6.15/drivers/net/phy/sfp-bus.c
/linux-6.15/drivers/net/phy/vitesse.c
/linux-6.15/drivers/net/pse-pd/pse_core.c
/linux-6.15/drivers/net/pse-pd/tps23881.c
/linux-6.15/drivers/net/sungem_phy.c
/linux-6.15/drivers/net/usb/cdc_ether.c
/linux-6.15/drivers/net/usb/ipheth.c
/linux-6.15/drivers/net/usb/qmi_wwan.c
/linux-6.15/drivers/net/usb/sr9700.c
/linux-6.15/drivers/net/veth.c
/linux-6.15/drivers/net/virtio_net.c
/linux-6.15/drivers/net/vxlan/vxlan_core.c
/linux-6.15/drivers/net/wan/fsl_qmc_hdlc.c
/linux-6.15/drivers/net/wireless/ath/ath12k/dp_tx.c
/linux-6.15/drivers/net/wireless/ath/ath12k/hw.c
/linux-6.15/drivers/net/wireless/ath/ath12k/hw.h
/linux-6.15/drivers/net/wireless/ath/ath12k/mac.c
/linux-6.15/drivers/net/wireless/ath/ath12k/pci.c
/linux-6.15/drivers/net/wireless/ath/ath12k/wow.c
/linux-6.15/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/fw/acpi.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/iwl-op-mode.h
/linux-6.15/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
/linux-6.15/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
/linux-6.15/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c
/linux-6.15/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
/linux-6.15/drivers/net/wireless/marvell/mwifiex/cfg80211.c
/linux-6.15/drivers/net/wireless/mediatek/mt76/mt7921/main.c
/linux-6.15/drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
/linux-6.15/drivers/net/wireless/silabs/wfx/sta.c
/linux-6.15/drivers/net/wwan/t7xx/t7xx_modem_ops.c
/linux-6.15/drivers/net/wwan/t7xx/t7xx_modem_ops.h
/linux-6.15/drivers/net/wwan/t7xx/t7xx_pci.c
/linux-6.15/drivers/net/wwan/t7xx/t7xx_pci.h
/linux-6.15/drivers/net/wwan/t7xx/t7xx_port_proxy.c
/linux-6.15/drivers/net/wwan/t7xx/t7xx_port_trace.c
/linux-6.15/drivers/net/wwan/t7xx/t7xx_state_monitor.c
/linux-6.15/drivers/net/xen-netback/hash.c
/linux-6.15/drivers/nfc/pn533/pn533.c
/linux-6.15/drivers/nfc/pn533/usb.c
/linux-6.15/drivers/nfc/pn544/i2c.c
/linux-6.15/drivers/nvdimm/pmem.c
/linux-6.15/drivers/nvme/host/core.c
/linux-6.15/drivers/nvme/host/nvme.h
/linux-6.15/drivers/of/irq.c
/linux-6.15/drivers/pci/hotplug/pciehp_hpc.c
/linux-6.15/drivers/pci/pci.c
/linux-6.15/drivers/perf/riscv_pmu_sbi.c
/linux-6.15/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
/linux-6.15/drivers/pinctrl/pinctrl-at91.c
/linux-6.15/drivers/pinctrl/pinctrl-rockchip.c
/linux-6.15/drivers/pinctrl/pinctrl-single.c
/linux-6.15/drivers/pinctrl/qcom/pinctrl-x1e80100.c
/linux-6.15/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
/linux-6.15/drivers/platform/chrome/cros_ec_proto.c
/linux-6.15/drivers/platform/cznic/Kconfig
/linux-6.15/drivers/platform/cznic/Makefile
/linux-6.15/drivers/platform/cznic/turris-omnia-mcu-base.c
/linux-6.15/drivers/platform/cznic/turris-omnia-mcu.h
/linux-6.15/drivers/platform/surface/aggregator/controller.c
/linux-6.15/drivers/platform/surface/surface_aggregator_registry.c
/linux-6.15/drivers/platform/x86/Kconfig
/linux-6.15/drivers/platform/x86/amd/pmc/pmc.c
/linux-6.15/drivers/platform/x86/amd/pmc/pmc.h
/linux-6.15/drivers/platform/x86/amd/pmf/core.c
/linux-6.15/drivers/platform/x86/amd/pmf/pmf-quirks.c
/linux-6.15/drivers/platform/x86/amd/pmf/spc.c
/linux-6.15/drivers/platform/x86/asus-nb-wmi.c
/linux-6.15/drivers/platform/x86/asus-wmi.c
/linux-6.15/drivers/platform/x86/asus-wmi.h
/linux-6.15/drivers/platform/x86/dell/Kconfig
/linux-6.15/drivers/platform/x86/dell/dell-uart-backlight.c
/linux-6.15/drivers/platform/x86/ideapad-laptop.c
/linux-6.15/drivers/platform/x86/ideapad-laptop.h
/linux-6.15/drivers/platform/x86/intel/ifs/runtest.c
/linux-6.15/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c
/linux-6.15/drivers/platform/x86/intel/vbtn.c
/linux-6.15/drivers/platform/x86/lenovo-ymc.c
/linux-6.15/drivers/platform/x86/sony-laptop.c
/linux-6.15/drivers/platform/x86/x86-android-tablets/dmi.c
/linux-6.15/drivers/pmdomain/imx/imx93-pd.c
/linux-6.15/drivers/pmdomain/imx/scu-pd.c
/linux-6.15/drivers/power/sequencing/pwrseq-qcom-wcn.c
/linux-6.15/drivers/power/supply/axp288_charger.c
/linux-6.15/drivers/power/supply/qcom_battmgr.c
/linux-6.15/drivers/power/supply/rt5033_battery.c
/linux-6.15/drivers/s390/block/dasd.c
/linux-6.15/drivers/s390/block/dasd_3990_erp.c
/linux-6.15/drivers/s390/block/dasd_eckd.c
/linux-6.15/drivers/s390/block/dasd_genhd.c
/linux-6.15/drivers/s390/block/dasd_int.h
/linux-6.15/drivers/s390/cio/ccwgroup.c
/linux-6.15/drivers/s390/cio/vfio_ccw_drv.c
/linux-6.15/drivers/s390/crypto/ap_bus.c
/linux-6.15/drivers/scsi/isci/init.c
/linux-6.15/drivers/scsi/mpi3mr/mpi3mr_app.c
/linux-6.15/drivers/scsi/mpi3mr/mpi3mr_os.c
/linux-6.15/drivers/scsi/mpt3sas/mpt3sas_base.c
/linux-6.15/drivers/scsi/sd.c
/linux-6.15/drivers/scsi/sr_ioctl.c
/linux-6.15/drivers/soc/fsl/qbman/qman.c
/linux-6.15/drivers/spi/spi-cadence-quadspi.c
/linux-6.15/drivers/spi/spi-fsl-lpspi.c
/linux-6.15/drivers/spi/spi-hisi-kunpeng.c
/linux-6.15/drivers/spi/spi-pxa2xx-pci.c
/linux-6.15/drivers/spi/spi-pxa2xx-platform.c
/linux-6.15/drivers/spi/spi-pxa2xx.c
/linux-6.15/drivers/spi/spi-pxa2xx.h
/linux-6.15/drivers/spi/spi-zynqmp-gqspi.c
/linux-6.15/drivers/spi/spidev.c
/linux-6.15/drivers/spmi/spmi-pmic-arb.c
/linux-6.15/drivers/staging/media/atomisp/include/linux/atomisp.h
/linux-6.15/drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
/linux-6.15/drivers/staging/media/atomisp/pci/ia_css_stream_public.h
/linux-6.15/drivers/staging/media/atomisp/pci/sh_css_internal.h
/linux-6.15/drivers/thermal/gov_bang_bang.c
/linux-6.15/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
/linux-6.15/drivers/thermal/thermal_core.c
/linux-6.15/drivers/thermal/thermal_debugfs.c
/linux-6.15/drivers/thermal/thermal_of.c
/linux-6.15/drivers/thermal/thermal_trip.c
/linux-6.15/drivers/thunderbolt/debugfs.c
/linux-6.15/drivers/thunderbolt/switch.c
/linux-6.15/drivers/tty/serial/8250/8250_omap.c
/linux-6.15/drivers/tty/serial/atmel_serial.c
/linux-6.15/drivers/tty/serial/fsl_lpuart.c
/linux-6.15/drivers/tty/serial/sc16is7xx.c
/linux-6.15/drivers/tty/serial/serial_core.c
/linux-6.15/drivers/tty/vt/conmakehash.c
/linux-6.15/drivers/ufs/core/ufshcd-priv.h
/linux-6.15/drivers/ufs/core/ufshcd.c
/linux-6.15/drivers/ufs/host/ufs-exynos.c
/linux-6.15/drivers/ufs/host/ufs-qcom.c
/linux-6.15/drivers/usb/gadget/function/f_fs.c
/linux-6.15/drivers/usb/gadget/function/f_midi2.c
/linux-6.15/drivers/usb/gadget/function/u_audio.c
/linux-6.15/drivers/usb/gadget/function/u_serial.c
/linux-6.15/drivers/usb/gadget/udc/core.c
/linux-6.15/drivers/usb/host/xhci-mem.c
/linux-6.15/drivers/usb/host/xhci-ring.c
/linux-6.15/drivers/usb/host/xhci.c
/linux-6.15/drivers/usb/misc/usb-ljca.c
/linux-6.15/drivers/usb/serial/ch341.c
/linux-6.15/drivers/usb/serial/garmin_gps.c
/linux-6.15/drivers/usb/serial/mxuport.c
/linux-6.15/drivers/usb/serial/navman.c
/linux-6.15/drivers/usb/serial/qcaux.c
/linux-6.15/drivers/usb/serial/spcp8x5.c
/linux-6.15/drivers/usb/serial/symbolserial.c
/linux-6.15/drivers/usb/serial/usb-serial-simple.c
/linux-6.15/drivers/usb/serial/usb_debug.c
/linux-6.15/drivers/usb/typec/mux/fsa4480.c
/linux-6.15/drivers/usb/typec/tcpm/tcpci.c
/linux-6.15/drivers/usb/typec/tcpm/tcpm.c
/linux-6.15/drivers/usb/typec/tipd/core.c
/linux-6.15/drivers/usb/typec/ucsi/ucsi.c
/linux-6.15/drivers/usb/usbip/vhci_hcd.c
/linux-6.15/drivers/vdpa/octeon_ep/octep_vdpa_hw.c
/linux-6.15/drivers/vhost/vdpa.c
/linux-6.15/drivers/vhost/vsock.c
/linux-6.15/drivers/virtio/virtio.c
/linux-6.15/drivers/virtio/virtio_pci_common.c
/linux-6.15/drivers/virtio/virtio_pci_common.h
/linux-6.15/drivers/virtio/virtio_pci_modern.c
/linux-6.15/fs/9p/vfs_addr.c
/linux-6.15/fs/afs/file.c
/linux-6.15/fs/afs/inode.c
/linux-6.15/fs/attr.c
/linux-6.15/fs/backing-file.c
/linux-6.15/fs/bcachefs/acl.c
/linux-6.15/fs/bcachefs/acl.h
/linux-6.15/fs/bcachefs/alloc_background.c
/linux-6.15/fs/bcachefs/alloc_background.h
/linux-6.15/fs/bcachefs/alloc_background_format.h
/linux-6.15/fs/bcachefs/alloc_foreground.c
/linux-6.15/fs/bcachefs/alloc_foreground.h
/linux-6.15/fs/bcachefs/backpointers.c
/linux-6.15/fs/bcachefs/backpointers.h
/linux-6.15/fs/bcachefs/bcachefs.h
/linux-6.15/fs/bcachefs/bcachefs_format.h
/linux-6.15/fs/bcachefs/bkey.h
/linux-6.15/fs/bcachefs/bkey_methods.c
/linux-6.15/fs/bcachefs/bkey_methods.h
/linux-6.15/fs/bcachefs/btree_cache.c
/linux-6.15/fs/bcachefs/btree_cache.h
/linux-6.15/fs/bcachefs/btree_gc.c
/linux-6.15/fs/bcachefs/btree_io.c
/linux-6.15/fs/bcachefs/btree_iter.c
/linux-6.15/fs/bcachefs/btree_iter.h
/linux-6.15/fs/bcachefs/btree_key_cache.c
/linux-6.15/fs/bcachefs/btree_key_cache.h
/linux-6.15/fs/bcachefs/btree_node_scan.c
/linux-6.15/fs/bcachefs/btree_trans_commit.c
/linux-6.15/fs/bcachefs/btree_update_interior.c
/linux-6.15/fs/bcachefs/buckets.c
/linux-6.15/fs/bcachefs/buckets.h
/linux-6.15/fs/bcachefs/buckets_waiting_for_journal.c
/linux-6.15/fs/bcachefs/data_update.c
/linux-6.15/fs/bcachefs/debug.c
/linux-6.15/fs/bcachefs/dirent.c
/linux-6.15/fs/bcachefs/dirent.h
/linux-6.15/fs/bcachefs/disk_accounting.c
/linux-6.15/fs/bcachefs/disk_accounting.h
/linux-6.15/fs/bcachefs/disk_accounting_format.h
/linux-6.15/fs/bcachefs/ec.c
/linux-6.15/fs/bcachefs/ec.h
/linux-6.15/fs/bcachefs/errcode.h
/linux-6.15/fs/bcachefs/error.c
/linux-6.15/fs/bcachefs/error.h
/linux-6.15/fs/bcachefs/extents.c
/linux-6.15/fs/bcachefs/extents.h
/linux-6.15/fs/bcachefs/fs-io-buffered.c
/linux-6.15/fs/bcachefs/fs-ioctl.c
/linux-6.15/fs/bcachefs/fs.c
/linux-6.15/fs/bcachefs/fsck.c
/linux-6.15/fs/bcachefs/inode.c
/linux-6.15/fs/bcachefs/inode.h
/linux-6.15/fs/bcachefs/io_misc.c
/linux-6.15/fs/bcachefs/io_read.c
/linux-6.15/fs/bcachefs/io_write.c
/linux-6.15/fs/bcachefs/journal.c
/linux-6.15/fs/bcachefs/journal_io.c
/linux-6.15/fs/bcachefs/journal_sb.c
/linux-6.15/fs/bcachefs/lru.c
/linux-6.15/fs/bcachefs/lru.h
/linux-6.15/fs/bcachefs/movinggc.c
/linux-6.15/fs/bcachefs/opts.h
/linux-6.15/fs/bcachefs/quota.c
/linux-6.15/fs/bcachefs/quota.h
/linux-6.15/fs/bcachefs/recovery.c
/linux-6.15/fs/bcachefs/reflink.c
/linux-6.15/fs/bcachefs/reflink.h
/linux-6.15/fs/bcachefs/replicas.c
/linux-6.15/fs/bcachefs/sb-downgrade.c
/linux-6.15/fs/bcachefs/sb-errors_format.h
/linux-6.15/fs/bcachefs/snapshot.c
/linux-6.15/fs/bcachefs/snapshot.h
/linux-6.15/fs/bcachefs/subvolume.c
/linux-6.15/fs/bcachefs/subvolume.h
/linux-6.15/fs/bcachefs/super-io.c
/linux-6.15/fs/bcachefs/super.c
/linux-6.15/fs/bcachefs/sysfs.c
/linux-6.15/fs/bcachefs/trace.c
/linux-6.15/fs/bcachefs/trace.h
/linux-6.15/fs/bcachefs/util.c
/linux-6.15/fs/bcachefs/xattr.c
/linux-6.15/fs/bcachefs/xattr.h
/linux-6.15/fs/binfmt_flat.c
/linux-6.15/fs/btrfs/bio.c
/linux-6.15/fs/btrfs/block-group.c
/linux-6.15/fs/btrfs/ctree.h
/linux-6.15/fs/btrfs/delayed-ref.c
/linux-6.15/fs/btrfs/delayed-ref.h
/linux-6.15/fs/btrfs/direct-io.c
/linux-6.15/fs/btrfs/extent-tree.c
/linux-6.15/fs/btrfs/extent_io.c
/linux-6.15/fs/btrfs/extent_map.c
/linux-6.15/fs/btrfs/fiemap.c
/linux-6.15/fs/btrfs/file.c
/linux-6.15/fs/btrfs/free-space-cache.c
/linux-6.15/fs/btrfs/inode.c
/linux-6.15/fs/btrfs/print-tree.c
/linux-6.15/fs/btrfs/qgroup.c
/linux-6.15/fs/btrfs/scrub.c
/linux-6.15/fs/btrfs/send.c
/linux-6.15/fs/btrfs/space-info.c
/linux-6.15/fs/btrfs/space-info.h
/linux-6.15/fs/btrfs/super.c
/linux-6.15/fs/btrfs/tests/extent-map-tests.c
/linux-6.15/fs/btrfs/tree-checker.c
/linux-6.15/fs/ceph/addr.c
/linux-6.15/fs/ceph/caps.c
/linux-6.15/fs/ceph/inode.c
/linux-6.15/fs/ceph/super.h
/linux-6.15/fs/erofs/dir.c
/linux-6.15/fs/erofs/inode.c
/linux-6.15/fs/erofs/internal.h
/linux-6.15/fs/erofs/super.c
/linux-6.15/fs/erofs/zutil.c
/linux-6.15/fs/exec.c
/linux-6.15/fs/file.c
/linux-6.15/fs/fuse/dev.c
/linux-6.15/fs/inode.c
/linux-6.15/fs/libfs.c
/linux-6.15/fs/locks.c
/linux-6.15/fs/netfs/Kconfig
/linux-6.15/fs/netfs/buffered_read.c
/linux-6.15/fs/netfs/buffered_write.c
/linux-6.15/fs/netfs/fscache_cookie.c
/linux-6.15/fs/netfs/io.c
/linux-6.15/fs/netfs/misc.c
/linux-6.15/fs/netfs/objects.c
/linux-6.15/fs/netfs/write_collect.c
/linux-6.15/fs/netfs/write_issue.c
/linux-6.15/fs/nfs/callback_xdr.c
/linux-6.15/fs/nfs/delegation.c
/linux-6.15/fs/nfs/fscache.c
/linux-6.15/fs/nfs/fscache.h
/linux-6.15/fs/nfs/nfs4proc.c
/linux-6.15/fs/nfs/pnfs.c
/linux-6.15/fs/nfs/super.c
/linux-6.15/fs/nfsd/nfs4state.c
/linux-6.15/fs/nfsd/nfs4xdr.c
/linux-6.15/fs/nfsd/nfsctl.c
/linux-6.15/fs/nfsd/state.h
/linux-6.15/fs/overlayfs/params.c
/linux-6.15/fs/romfs/super.c
/linux-6.15/fs/smb/client/cifs_debug.c
/linux-6.15/fs/smb/client/cifsfs.c
/linux-6.15/fs/smb/client/cifsfs.h
/linux-6.15/fs/smb/client/cifsglob.h
/linux-6.15/fs/smb/client/cifsproto.h
/linux-6.15/fs/smb/client/cifssmb.c
/linux-6.15/fs/smb/client/connect.c
/linux-6.15/fs/smb/client/file.c
/linux-6.15/fs/smb/client/inode.c
/linux-6.15/fs/smb/client/ioctl.c
/linux-6.15/fs/smb/client/link.c
/linux-6.15/fs/smb/client/misc.c
/linux-6.15/fs/smb/client/reparse.c
/linux-6.15/fs/smb/client/reparse.h
/linux-6.15/fs/smb/client/smb2inode.c
/linux-6.15/fs/smb/client/smb2ops.c
/linux-6.15/fs/smb/client/smb2pdu.c
/linux-6.15/fs/smb/client/smbdirect.c
/linux-6.15/fs/smb/client/trace.h
/linux-6.15/fs/smb/client/transport.c
/linux-6.15/fs/smb/common/smb2pdu.h
/linux-6.15/fs/smb/server/connection.c
/linux-6.15/fs/smb/server/connection.h
/linux-6.15/fs/smb/server/mgmt/share_config.c
/linux-6.15/fs/smb/server/mgmt/share_config.h
/linux-6.15/fs/smb/server/mgmt/tree_connect.c
/linux-6.15/fs/smb/server/mgmt/tree_connect.h
/linux-6.15/fs/smb/server/mgmt/user_session.c
/linux-6.15/fs/smb/server/oplock.c
/linux-6.15/fs/smb/server/smb2pdu.c
/linux-6.15/fs/smb/server/smb_common.c
/linux-6.15/fs/smb/server/smb_common.h
/linux-6.15/fs/squashfs/inode.c
/linux-6.15/fs/super.c
/linux-6.15/fs/tracefs/event_inode.c
/linux-6.15/fs/tracefs/inode.c
/linux-6.15/fs/tracefs/internal.h
/linux-6.15/fs/xfs/libxfs/xfs_quota_defs.h
/linux-6.15/fs/xfs/libxfs/xfs_trans_resv.c
/linux-6.15/fs/xfs/scrub/agheader_repair.c
/linux-6.15/fs/xfs/scrub/bmap.c
/linux-6.15/fs/xfs/scrub/parent.c
/linux-6.15/fs/xfs/scrub/trace.h
/linux-6.15/fs/xfs/xfs_attr_list.c
/linux-6.15/fs/xfs/xfs_ioctl.c
/linux-6.15/fs/xfs/xfs_trace.h
/linux-6.15/fs/xfs/xfs_trans_ail.c
/linux-6.15/fs/xfs/xfs_xattr.c
/linux-6.15/include/acpi/acpixf.h
/linux-6.15/include/acpi/video.h
/linux-6.15/include/asm-generic/vmlinux.lds.h
/linux-6.15/include/drm/drm_buddy.h
/linux-6.15/include/linux/avf/virtchnl.h
/linux-6.15/include/linux/bitmap.h
/linux-6.15/include/linux/blkdev.h
/linux-6.15/include/linux/bpf_verifier.h
/linux-6.15/include/linux/compiler.h
/linux-6.15/include/linux/cpuhotplug.h
/linux-6.15/include/linux/cpumask.h
/linux-6.15/include/linux/dpll.h
/linux-6.15/include/linux/dsa/ocelot.h
/linux-6.15/include/linux/etherdevice.h
/linux-6.15/include/linux/ethtool.h
/linux-6.15/include/linux/ethtool_netlink.h
/linux-6.15/include/linux/file.h
/linux-6.15/include/linux/filter.h
/linux-6.15/include/linux/fs.h
/linux-6.15/include/linux/hugetlb.h
/linux-6.15/include/linux/i2c.h
/linux-6.15/include/linux/if_rmnet.h
/linux-6.15/include/linux/iommu.h
/linux-6.15/include/linux/ipv6.h
/linux-6.15/include/linux/kvm_host.h
/linux-6.15/include/linux/linkmode.h
/linux-6.15/include/linux/mii.h
/linux-6.15/include/linux/minmax.h
/linux-6.15/include/linux/mlx5/device.h
/linux-6.15/include/linux/mlx5/driver.h
/linux-6.15/include/linux/mlx5/mlx5_ifc.h
/linux-6.15/include/linux/mm.h
/linux-6.15/include/linux/mmzone.h
/linux-6.15/include/linux/netdevice.h
/linux-6.15/include/linux/netfs.h
/linux-6.15/include/linux/netpoll.h
/linux-6.15/include/linux/panic.h
/linux-6.15/include/linux/pgalloc_tag.h
/linux-6.15/include/linux/phy.h
/linux-6.15/include/linux/phy_link_topology.h
/linux-6.15/include/linux/platform_data/microchip-ksz.h
/linux-6.15/include/linux/profile.h
/linux-6.15/include/linux/refcount.h
/linux-6.15/include/linux/ring_buffer.h
/linux-6.15/include/linux/sfp.h
/linux-6.15/include/linux/skbuff.h
/linux-6.15/include/linux/spi/spi.h
/linux-6.15/include/linux/stmmac.h
/linux-6.15/include/linux/sungem_phy.h
/linux-6.15/include/linux/thermal.h
/linux-6.15/include/linux/trace_events.h
/linux-6.15/include/linux/virtio.h
/linux-6.15/include/linux/virtio_config.h
/linux-6.15/include/linux/virtio_net.h
/linux-6.15/include/linux/virtio_vsock.h
/linux-6.15/include/linux/vmstat.h
/linux-6.15/include/net/addrconf.h
/linux-6.15/include/net/af_vsock.h
/linux-6.15/include/net/bluetooth/hci.h
/linux-6.15/include/net/bluetooth/hci_core.h
/linux-6.15/include/net/bond_3ad.h
/linux-6.15/include/net/bond_alb.h
/linux-6.15/include/net/bonding.h
/linux-6.15/include/net/busy_poll.h
/linux-6.15/include/net/caif/caif_layer.h
/linux-6.15/include/net/caif/cfpkt.h
/linux-6.15/include/net/dropreason-core.h
/linux-6.15/include/net/dsa.h
/linux-6.15/include/net/dst.h
/linux-6.15/include/net/dst_cache.h
/linux-6.15/include/net/dst_metadata.h
/linux-6.15/include/net/erspan.h
/linux-6.15/include/net/hwbm.h
/linux-6.15/include/net/inet6_hashtables.h
/linux-6.15/include/net/inet_hashtables.h
/linux-6.15/include/net/inet_sock.h
/linux-6.15/include/net/inet_timewait_sock.h
/linux-6.15/include/net/ip_fib.h
/linux-6.15/include/net/ip_tunnels.h
/linux-6.15/include/net/ipv6.h
/linux-6.15/include/net/ipv6_stubs.h
/linux-6.15/include/net/iucv/iucv.h
/linux-6.15/include/net/kcm.h
/linux-6.15/include/net/llc_pdu.h
/linux-6.15/include/net/mana/mana.h
/linux-6.15/include/net/ndisc.h
/linux-6.15/include/net/net_namespace.h
/linux-6.15/include/net/netfilter/nf_conntrack_count.h
/linux-6.15/include/net/netfilter/nf_tables.h
/linux-6.15/include/net/netfilter/nf_tables_ipv4.h
/linux-6.15/include/net/netfilter/nf_tables_ipv6.h
/linux-6.15/include/net/netlabel.h
/linux-6.15/include/net/netlink.h
/linux-6.15/include/net/netns/sctp.h
/linux-6.15/include/net/nexthop.h
/linux-6.15/include/net/nfc/nci.h
/linux-6.15/include/net/nfc/nfc.h
/linux-6.15/include/net/pkt_cls.h
/linux-6.15/include/net/red.h
/linux-6.15/include/net/regulatory.h
/linux-6.15/include/net/rstreason.h
/linux-6.15/include/net/sctp/sctp.h
/linux-6.15/include/net/sctp/structs.h
/linux-6.15/include/net/sock.h
/linux-6.15/include/net/sock_reuseport.h
/linux-6.15/include/net/udp.h
/linux-6.15/include/net/x25.h
/linux-6.15/include/scsi/scsi_cmnd.h
/linux-6.15/include/soc/mscc/ocelot.h
/linux-6.15/include/soc/mscc/ocelot_vcap.h
/linux-6.15/include/sound/cs35l56.h
/linux-6.15/include/sound/soc-component.h
/linux-6.15/include/sound/ump_convert.h
/linux-6.15/include/trace/events/btrfs.h
/linux-6.15/include/trace/events/mptcp.h
/linux-6.15/include/trace/events/netfs.h
/linux-6.15/include/trace/events/rpcrdma.h
/linux-6.15/include/uapi/asm-generic/unistd.h
/linux-6.15/include/uapi/drm/xe_drm.h
/linux-6.15/include/uapi/linux/bpf.h
/linux-6.15/include/uapi/linux/dpll.h
/linux-6.15/include/uapi/linux/ethtool.h
/linux-6.15/include/uapi/linux/ethtool_netlink.h
/linux-6.15/include/uapi/linux/if_packet.h
/linux-6.15/include/uapi/linux/in.h
/linux-6.15/include/uapi/linux/in_route.h
/linux-6.15/include/uapi/linux/inet_diag.h
/linux-6.15/include/uapi/linux/io_uring.h
/linux-6.15/include/uapi/linux/ioam6_iptunnel.h
/linux-6.15/include/uapi/linux/nexthop.h
/linux-6.15/include/uapi/linux/nsfs.h
/linux-6.15/include/uapi/linux/pkt_cls.h
/linux-6.15/include/uapi/linux/psp-sev.h
/linux-6.15/include/uapi/linux/smc.h
/linux-6.15/include/uapi/misc/fastrpc.h
/linux-6.15/include/ufs/ufshcd.h
/linux-6.15/include/ufs/ufshci.h
/linux-6.15/init/Kconfig
/linux-6.15/io_uring/kbuf.c
/linux-6.15/io_uring/napi.c
/linux-6.15/io_uring/napi.h
/linux-6.15/io_uring/net.c
/linux-6.15/io_uring/poll.c
/linux-6.15/io_uring/sqpoll.c
/linux-6.15/kernel/bpf/verifier.c
/linux-6.15/kernel/cgroup/cpuset.c
/linux-6.15/kernel/cpu.c
/linux-6.15/kernel/crash_reserve.c
/linux-6.15/kernel/dma/debug.c
/linux-6.15/kernel/events/core.c
/linux-6.15/kernel/irq/irqdesc.c
/linux-6.15/kernel/jump_label.c
/linux-6.15/kernel/kallsyms.c
/linux-6.15/kernel/kallsyms_selftest.c
/linux-6.15/kernel/kcov.c
/linux-6.15/kernel/kprobes.c
/linux-6.15/kernel/ksysfs.c
/linux-6.15/kernel/locking/lockdep.c
/linux-6.15/kernel/locking/qspinlock_paravirt.h
/linux-6.15/kernel/module/main.c
/linux-6.15/kernel/padata.c
/linux-6.15/kernel/panic.c
/linux-6.15/kernel/printk/printk.c
/linux-6.15/kernel/profile.c
/linux-6.15/kernel/sched/core.c
/linux-6.15/kernel/sched/cputime.c
/linux-6.15/kernel/sched/stats.c
/linux-6.15/kernel/task_work.c
/linux-6.15/kernel/time/clocksource.c
/linux-6.15/kernel/time/ntp.c
/linux-6.15/kernel/time/tick-broadcast.c
/linux-6.15/kernel/time/timekeeping.c
/linux-6.15/kernel/trace/fgraph.c
/linux-6.15/kernel/trace/preemptirq_delay_test.c
/linux-6.15/kernel/trace/ring_buffer.c
/linux-6.15/kernel/trace/trace.c
/linux-6.15/kernel/trace/trace.h
/linux-6.15/kernel/trace/trace_events.c
/linux-6.15/kernel/trace/trace_events_hist.c
/linux-6.15/kernel/trace/trace_events_inject.c
/linux-6.15/kernel/trace/trace_events_trigger.c
/linux-6.15/kernel/trace/tracing_map.c
/linux-6.15/kernel/workqueue.c
/linux-6.15/lib/btree.c
/linux-6.15/lib/decompress_unlzma.c
/linux-6.15/lib/generic-radix-tree.c
/linux-6.15/lib/overflow_kunit.c
/linux-6.15/lib/vdso/getrandom.c
/linux-6.15/lib/vsprintf.c
/linux-6.15/mm/huge_memory.c
/linux-6.15/mm/hugetlb_vmemmap.c
/linux-6.15/mm/list_lru.c
/linux-6.15/mm/memcontrol-v1.c
/linux-6.15/mm/memcontrol.c
/linux-6.15/mm/memory-failure.c
/linux-6.15/mm/memory.c
/linux-6.15/mm/migrate.c
/linux-6.15/mm/mm_init.c
/linux-6.15/mm/mseal.c
/linux-6.15/mm/page_alloc.c
/linux-6.15/mm/page_ext.c
/linux-6.15/mm/shmem.c
/linux-6.15/mm/slub.c
/linux-6.15/mm/sparse-vmemmap.c
/linux-6.15/mm/sparse.c
/linux-6.15/mm/truncate.c
/linux-6.15/mm/vmalloc.c
/linux-6.15/mm/vmstat.c
/linux-6.15/mm/zsmalloc.c
/linux-6.15/net/6lowpan/ndisc.c
/linux-6.15/net/bluetooth/hci_core.c
/linux-6.15/net/bluetooth/hci_event.c
/linux-6.15/net/bluetooth/hci_sync.c
/linux-6.15/net/bluetooth/l2cap_core.c
/linux-6.15/net/bluetooth/mgmt.c
/linux-6.15/net/bluetooth/smp.c
/linux-6.15/net/bridge/br_multicast.c
/linux-6.15/net/bridge/br_netfilter_hooks.c
/linux-6.15/net/bridge/netfilter/nft_meta_bridge.c
/linux-6.15/net/caif/cfpkt_skbuff.c
/linux-6.15/net/core/dev.c
/linux-6.15/net/core/dev_addr_lists.c
/linux-6.15/net/core/fib_rules.c
/linux-6.15/net/core/filter.c
/linux-6.15/net/core/gro.c
/linux-6.15/net/core/link_watch.c
/linux-6.15/net/core/neighbour.c
/linux-6.15/net/core/net-sysfs.c
/linux-6.15/net/core/net_namespace.c
/linux-6.15/net/core/netpoll.c
/linux-6.15/net/core/pktgen.c
/linux-6.15/net/core/rtnetlink.c
/linux-6.15/net/core/skbuff.c
/linux-6.15/net/core/sock.c
/linux-6.15/net/core/sock_reuseport.c
/linux-6.15/net/core/utils.c
/linux-6.15/net/dsa/tag.c
/linux-6.15/net/dsa/tag.h
/linux-6.15/net/dsa/tag_ksz.c
/linux-6.15/net/dsa/tag_ocelot.c
/linux-6.15/net/ethtool/Makefile
/linux-6.15/net/ethtool/cabletest.c
/linux-6.15/net/ethtool/channels.c
/linux-6.15/net/ethtool/cmis.h
/linux-6.15/net/ethtool/cmis_fw_update.c
/linux-6.15/net/ethtool/common.c
/linux-6.15/net/ethtool/common.h
/linux-6.15/net/ethtool/ioctl.c
/linux-6.15/net/ethtool/linkinfo.c
/linux-6.15/net/ethtool/linkmodes.c
/linux-6.15/net/ethtool/netlink.c
/linux-6.15/net/ethtool/netlink.h
/linux-6.15/net/ethtool/phy.c
/linux-6.15/net/ethtool/plca.c
/linux-6.15/net/ethtool/pse-pd.c
/linux-6.15/net/ethtool/rss.c
/linux-6.15/net/ethtool/strset.c
/linux-6.15/net/handshake/netlink.c
/linux-6.15/net/ipv4/Kconfig
/linux-6.15/net/ipv4/devinet.c
/linux-6.15/net/ipv4/fib_frontend.c
/linux-6.15/net/ipv4/fib_rules.c
/linux-6.15/net/ipv4/fib_semantics.c
/linux-6.15/net/ipv4/fib_trie.c
/linux-6.15/net/ipv4/icmp.c
/linux-6.15/net/ipv4/inet_connection_sock.c
/linux-6.15/net/ipv4/inet_diag.c
/linux-6.15/net/ipv4/inet_hashtables.c
/linux-6.15/net/ipv4/ip_tunnel.c
/linux-6.15/net/ipv4/ipmr.c
/linux-6.15/net/ipv4/netfilter/arp_tables.c
/linux-6.15/net/ipv4/netfilter/ip_tables.c
/linux-6.15/net/ipv4/netfilter/ipt_rpfilter.c
/linux-6.15/net/ipv4/netfilter/iptable_nat.c
/linux-6.15/net/ipv4/netfilter/nft_dup_ipv4.c
/linux-6.15/net/ipv4/netfilter/nft_fib_ipv4.c
/linux-6.15/net/ipv4/nexthop.c
/linux-6.15/net/ipv4/route.c
/linux-6.15/net/ipv4/tcp.c
/linux-6.15/net/ipv4/tcp_ao.c
/linux-6.15/net/ipv4/tcp_htcp.c
/linux-6.15/net/ipv4/tcp_input.c
/linux-6.15/net/ipv4/tcp_ipv4.c
/linux-6.15/net/ipv4/tcp_metrics.c
/linux-6.15/net/ipv4/tcp_minisocks.c
/linux-6.15/net/ipv4/tcp_offload.c
/linux-6.15/net/ipv4/tcp_output.c
/linux-6.15/net/ipv4/tcp_timer.c
/linux-6.15/net/ipv4/udp.c
/linux-6.15/net/ipv4/udp_offload.c
/linux-6.15/net/ipv6/addrconf.c
/linux-6.15/net/ipv6/af_inet6.c
/linux-6.15/net/ipv6/inet6_hashtables.c
/linux-6.15/net/ipv6/ioam6_iptunnel.c
/linux-6.15/net/ipv6/ip6_output.c
/linux-6.15/net/ipv6/ip6_tunnel.c
/linux-6.15/net/ipv6/ip6mr.c
/linux-6.15/net/ipv6/ipv6_sockglue.c
/linux-6.15/net/ipv6/mcast.c
/linux-6.15/net/ipv6/ndisc.c
/linux-6.15/net/ipv6/netfilter/ip6table_nat.c
/linux-6.15/net/ipv6/netfilter/nf_conntrack_reasm.c
/linux-6.15/net/ipv6/netfilter/nft_dup_ipv6.c
/linux-6.15/net/ipv6/route.c
/linux-6.15/net/ipv6/tcp_ipv6.c
/linux-6.15/net/ipv6/udp.c
/linux-6.15/net/iucv/af_iucv.c
/linux-6.15/net/iucv/iucv.c
/linux-6.15/net/kcm/kcmsock.c
/linux-6.15/net/l2tp/l2tp_core.c
/linux-6.15/net/l2tp/l2tp_core.h
/linux-6.15/net/l2tp/l2tp_debugfs.c
/linux-6.15/net/l2tp/l2tp_eth.c
/linux-6.15/net/l2tp/l2tp_ip.c
/linux-6.15/net/l2tp/l2tp_ip6.c
/linux-6.15/net/l2tp/l2tp_netlink.c
/linux-6.15/net/l2tp/l2tp_ppp.c
/linux-6.15/net/mac80211/cfg.c
/linux-6.15/net/mac80211/mlme.c
/linux-6.15/net/mac80211/tx.c
/linux-6.15/net/mac80211/util.c
/linux-6.15/net/mctp/af_mctp.c
/linux-6.15/net/mctp/test/route-test.c
/linux-6.15/net/mpls/af_mpls.c
/linux-6.15/net/mpls/mpls_iptunnel.c
/linux-6.15/net/mptcp/diag.c
/linux-6.15/net/mptcp/fastopen.c
/linux-6.15/net/mptcp/mib.c
/linux-6.15/net/mptcp/mib.h
/linux-6.15/net/mptcp/options.c
/linux-6.15/net/mptcp/pm.c
/linux-6.15/net/mptcp/pm_netlink.c
/linux-6.15/net/mptcp/pm_userspace.c
/linux-6.15/net/mptcp/protocol.c
/linux-6.15/net/mptcp/protocol.h
/linux-6.15/net/mptcp/sched.c
/linux-6.15/net/mptcp/sockopt.c
/linux-6.15/net/mptcp/subflow.c
/linux-6.15/net/netfilter/nf_conncount.c
/linux-6.15/net/netfilter/nf_flow_table_inet.c
/linux-6.15/net/netfilter/nf_flow_table_ip.c
/linux-6.15/net/netfilter/nf_flow_table_offload.c
/linux-6.15/net/netfilter/nf_tables_api.c
/linux-6.15/net/netfilter/nf_tables_core.c
/linux-6.15/net/netfilter/nfnetlink.c
/linux-6.15/net/netfilter/nfnetlink_queue.c
/linux-6.15/net/netfilter/nft_bitwise.c
/linux-6.15/net/netfilter/nft_byteorder.c
/linux-6.15/net/netfilter/nft_cmp.c
/linux-6.15/net/netfilter/nft_counter.c
/linux-6.15/net/netfilter/nft_ct.c
/linux-6.15/net/netfilter/nft_dup_netdev.c
/linux-6.15/net/netfilter/nft_dynset.c
/linux-6.15/net/netfilter/nft_exthdr.c
/linux-6.15/net/netfilter/nft_fwd_netdev.c
/linux-6.15/net/netfilter/nft_hash.c
/linux-6.15/net/netfilter/nft_lookup.c
/linux-6.15/net/netfilter/nft_masq.c
/linux-6.15/net/netfilter/nft_meta.c
/linux-6.15/net/netfilter/nft_nat.c
/linux-6.15/net/netfilter/nft_objref.c
/linux-6.15/net/netfilter/nft_payload.c
/linux-6.15/net/netfilter/nft_queue.c
/linux-6.15/net/netfilter/nft_range.c
/linux-6.15/net/netfilter/nft_redir.c
/linux-6.15/net/netfilter/nft_tproxy.c
/linux-6.15/net/netfilter/xt_connlimit.c
/linux-6.15/net/netlink/af_netlink.h
/linux-6.15/net/netrom/nr_route.c
/linux-6.15/net/openvswitch/actions.c
/linux-6.15/net/openvswitch/conntrack.c
/linux-6.15/net/openvswitch/datapath.c
/linux-6.15/net/openvswitch/datapath.h
/linux-6.15/net/rds/Kconfig
/linux-6.15/net/rds/Makefile
/linux-6.15/net/rds/ib.h
/linux-6.15/net/rxrpc/ar-internal.h
/linux-6.15/net/sched/act_ct.c
/linux-6.15/net/sched/act_vlan.c
/linux-6.15/net/sched/sch_fq.c
/linux-6.15/net/sched/sch_netem.c
/linux-6.15/net/sctp/input.c
/linux-6.15/net/sctp/sm_statefuns.c
/linux-6.15/net/smc/af_smc.c
/linux-6.15/net/smc/smc_clc.h
/linux-6.15/net/smc/smc_core.c
/linux-6.15/net/smc/smc_core.h
/linux-6.15/net/smc/smc_loopback.h
/linux-6.15/net/smc/smc_stats.c
/linux-6.15/net/smc/smc_stats.h
/linux-6.15/net/sunrpc/svc.c
/linux-6.15/net/sunrpc/xprtrdma/ib_client.c
/linux-6.15/net/tipc/bearer.c
/linux-6.15/net/tipc/monitor.c
/linux-6.15/net/unix/af_unix.c
/linux-6.15/net/unix/garbage.c
/linux-6.15/net/vmw_vsock/af_vsock.c
/linux-6.15/net/vmw_vsock/virtio_transport.c
/linux-6.15/net/vmw_vsock/virtio_transport_common.c
/linux-6.15/net/vmw_vsock/vsock_bpf.c
/linux-6.15/net/vmw_vsock/vsock_loopback.c
/linux-6.15/net/wireless/scan.c
/linux-6.15/net/wireless/sme.c
/linux-6.15/rust/Makefile
/linux-6.15/rust/compiler_builtins.rs
lib.rs
sizes.rs
/linux-6.15/rust/macros/lib.rs
/linux-6.15/samples/trace_events/trace_custom_sched.c
/linux-6.15/scripts/Makefile.build
/linux-6.15/scripts/Makefile.lib
/linux-6.15/scripts/Makefile.modfinal
/linux-6.15/scripts/Makefile.vmlinux
/linux-6.15/scripts/Makefile.vmlinux_o
/linux-6.15/scripts/checkpatch.pl
/linux-6.15/scripts/gcc-plugins/randomize_layout_plugin.c
/linux-6.15/scripts/generate_rust_analyzer.py
/linux-6.15/scripts/generate_rust_target.rs
/linux-6.15/scripts/kallsyms.c
/linux-6.15/scripts/kconfig/merge_config.sh
/linux-6.15/scripts/link-vmlinux.sh
/linux-6.15/scripts/syscall.tbl
/linux-6.15/security/keys/trusted-keys/trusted_dcp.c
/linux-6.15/security/selinux/avc.c
/linux-6.15/security/selinux/hooks.c
/linux-6.15/sound/core/seq/seq_clientmgr.c
/linux-6.15/sound/core/seq/seq_ports.h
/linux-6.15/sound/core/seq/seq_ump_convert.c
/linux-6.15/sound/core/timer.c
/linux-6.15/sound/core/ump_convert.c
/linux-6.15/sound/firewire/amdtp-stream.c
/linux-6.15/sound/firewire/amdtp-stream.h
/linux-6.15/sound/pci/hda/cs35l41_hda.c
/linux-6.15/sound/pci/hda/cs35l56_hda.c
/linux-6.15/sound/pci/hda/cs35l56_hda.h
/linux-6.15/sound/pci/hda/hda_component.c
/linux-6.15/sound/pci/hda/hda_controller.h
/linux-6.15/sound/pci/hda/hda_generic.c
/linux-6.15/sound/pci/hda/hda_generic.h
/linux-6.15/sound/pci/hda/hda_intel.c
/linux-6.15/sound/pci/hda/patch_conexant.c
/linux-6.15/sound/pci/hda/patch_hdmi.c
/linux-6.15/sound/pci/hda/patch_realtek.c
/linux-6.15/sound/pci/hda/tas2781_hda_i2c.c
/linux-6.15/sound/soc/amd/acp/acp-legacy-mach.c
/linux-6.15/sound/soc/amd/acp/acp-sof-mach.c
/linux-6.15/sound/soc/amd/yc/acp6x-mach.c
/linux-6.15/sound/soc/au1x/db1200.c
/linux-6.15/sound/soc/codecs/cs-amp-lib-test.c
/linux-6.15/sound/soc/codecs/cs-amp-lib.c
/linux-6.15/sound/soc/codecs/cs35l45.c
/linux-6.15/sound/soc/codecs/cs35l56-sdw.c
/linux-6.15/sound/soc/codecs/cs35l56-shared.c
/linux-6.15/sound/soc/codecs/cs35l56.c
/linux-6.15/sound/soc/codecs/cs42l42.c
/linux-6.15/sound/soc/codecs/cs42l43.c
/linux-6.15/sound/soc/codecs/cs42l43.h
/linux-6.15/sound/soc/codecs/cs530x.c
/linux-6.15/sound/soc/codecs/es8326.c
/linux-6.15/sound/soc/codecs/lpass-macro-common.h
/linux-6.15/sound/soc/codecs/lpass-va-macro.c
/linux-6.15/sound/soc/codecs/nau8822.c
/linux-6.15/sound/soc/codecs/wcd937x-sdw.c
/linux-6.15/sound/soc/codecs/wcd937x.c
/linux-6.15/sound/soc/codecs/wcd938x-sdw.c
/linux-6.15/sound/soc/codecs/wcd939x-sdw.c
/linux-6.15/sound/soc/codecs/wm_adsp.c
/linux-6.15/sound/soc/codecs/wm_adsp.h
/linux-6.15/sound/soc/codecs/wsa881x.c
/linux-6.15/sound/soc/codecs/wsa883x.c
/linux-6.15/sound/soc/codecs/wsa884x.c
/linux-6.15/sound/soc/fsl/fsl_micfil.c
/linux-6.15/sound/soc/fsl/fsl_micfil.h
/linux-6.15/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
/linux-6.15/sound/soc/meson/axg-fifo.c
/linux-6.15/sound/soc/soc-component.c
/linux-6.15/sound/soc/sof/amd/acp-dsp-offset.h
/linux-6.15/sound/soc/sof/amd/acp.c
/linux-6.15/sound/soc/sof/amd/acp.h
/linux-6.15/sound/soc/sof/amd/pci-acp63.c
/linux-6.15/sound/soc/sof/amd/pci-rmb.c
/linux-6.15/sound/soc/sof/amd/pci-rn.c
/linux-6.15/sound/soc/sof/mediatek/mt8195/mt8195.c
/linux-6.15/sound/soc/sti/sti_uniperif.c
/linux-6.15/sound/soc/sti/uniperif.h
/linux-6.15/sound/soc/sti/uniperif_player.c
/linux-6.15/sound/soc/sti/uniperif_reader.c
/linux-6.15/sound/usb/line6/driver.c
/linux-6.15/sound/usb/quirks-table.h
/linux-6.15/sound/usb/quirks.c
/linux-6.15/sound/usb/stream.c
/linux-6.15/tools/arch/arm64/include/asm/cputype.h
/linux-6.15/tools/arch/powerpc/include/uapi/asm/kvm.h
/linux-6.15/tools/arch/x86/include/asm/cpufeatures.h
/linux-6.15/tools/arch/x86/include/asm/msr-index.h
/linux-6.15/tools/arch/x86/include/uapi/asm/kvm.h
/linux-6.15/tools/arch/x86/include/uapi/asm/svm.h
/linux-6.15/tools/build/feature/Makefile
/linux-6.15/tools/include/uapi/README
/linux-6.15/tools/include/uapi/asm-generic/unistd.h
/linux-6.15/tools/include/uapi/drm/i915_drm.h
/linux-6.15/tools/include/uapi/linux/bpf.h
/linux-6.15/tools/include/uapi/linux/in.h
/linux-6.15/tools/include/uapi/linux/kvm.h
/linux-6.15/tools/include/uapi/linux/perf_event.h
/linux-6.15/tools/include/uapi/linux/stat.h
/linux-6.15/tools/net/ynl/lib/ynl.c
/linux-6.15/tools/net/ynl/samples/netdev.c
/linux-6.15/tools/net/ynl/ynl-gen-c.py
/linux-6.15/tools/perf/Documentation/Build.txt
/linux-6.15/tools/perf/Makefile.config
/linux-6.15/tools/perf/Makefile.perf
/linux-6.15/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
/linux-6.15/tools/perf/arch/s390/entry/syscalls/syscall.tbl
/linux-6.15/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
/linux-6.15/tools/perf/builtin-daemon.c
/linux-6.15/tools/perf/pmu-events/arch/riscv/andes/ax45/firmware.json
/linux-6.15/tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json
/linux-6.15/tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json
/linux-6.15/tools/perf/pmu-events/arch/riscv/starfive/dubhe-80/firmware.json
/linux-6.15/tools/perf/pmu-events/arch/riscv/thead/c900-legacy/firmware.json
/linux-6.15/tools/perf/trace/beauty/include/linux/socket.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/fs.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/mount.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/linux/stat.h
/linux-6.15/tools/perf/trace/beauty/include/uapi/sound/asound.h
/linux-6.15/tools/perf/util/callchain.c
/linux-6.15/tools/testing/cxl/Kbuild
/linux-6.15/tools/testing/cxl/test/mock.c
/linux-6.15/tools/testing/selftests/Makefile
/linux-6.15/tools/testing/selftests/bpf/Makefile
/linux-6.15/tools/testing/selftests/bpf/prog_tests/flow_dissector.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/setget_sockopt.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/sockmap_basic.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/sockmap_helpers.h
/linux-6.15/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
/linux-6.15/tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c
/linux-6.15/tools/testing/selftests/bpf/progs/iters.c
/linux-6.15/tools/testing/selftests/bpf/progs/setget_sockopt.c
/linux-6.15/tools/testing/selftests/bpf/progs/test_tcp_custom_syncookie.c
/linux-6.15/tools/testing/selftests/core/close_range_test.c
/linux-6.15/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
/linux-6.15/tools/testing/selftests/drivers/net/Makefile
/linux-6.15/tools/testing/selftests/drivers/net/config
/linux-6.15/tools/testing/selftests/drivers/net/hw/pp_alloc_fail.py
/linux-6.15/tools/testing/selftests/drivers/net/hw/rss_ctx.py
/linux-6.15/tools/testing/selftests/drivers/net/lib/py/env.py
/linux-6.15/tools/testing/selftests/drivers/net/mlxsw/ethtool_lanes.sh
/linux-6.15/tools/testing/selftests/drivers/net/netcons_basic.sh
/linux-6.15/tools/testing/selftests/drivers/net/stats.py
/linux-6.15/tools/testing/selftests/hid/hid_bpf.c
/linux-6.15/tools/testing/selftests/hid/progs/hid.c
/linux-6.15/tools/testing/selftests/hid/progs/hid_bpf_helpers.h
/linux-6.15/tools/testing/selftests/kselftest/ksft.py
/linux-6.15/tools/testing/selftests/kvm/aarch64/get-reg-list.c
/linux-6.15/tools/testing/selftests/kvm/riscv/get-reg-list.c
/linux-6.15/tools/testing/selftests/kvm/x86_64/xapic_state_test.c
/linux-6.15/tools/testing/selftests/livepatch/test-livepatch.sh
/linux-6.15/tools/testing/selftests/mm/Makefile
/linux-6.15/tools/testing/selftests/mm/compaction_test.c
/linux-6.15/tools/testing/selftests/mm/mremap_test.c
/linux-6.15/tools/testing/selftests/mm/run_vmtests.sh
/linux-6.15/tools/testing/selftests/net/Makefile
/linux-6.15/tools/testing/selftests/net/af_unix/msg_oob.c
/linux-6.15/tools/testing/selftests/net/fcnal-test.sh
/linux-6.15/tools/testing/selftests/net/fib_nexthops.sh
/linux-6.15/tools/testing/selftests/net/fib_rule_tests.sh
/linux-6.15/tools/testing/selftests/net/forwarding/bridge_vlan_aware.sh
/linux-6.15/tools/testing/selftests/net/forwarding/custom_multipath_hash.sh
/linux-6.15/tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh
/linux-6.15/tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh
/linux-6.15/tools/testing/selftests/net/forwarding/lib.sh
/linux-6.15/tools/testing/selftests/net/forwarding/local_termination.sh
/linux-6.15/tools/testing/selftests/net/forwarding/no_forwarding.sh
/linux-6.15/tools/testing/selftests/net/forwarding/router_mpath_nh.sh
/linux-6.15/tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh
/linux-6.15/tools/testing/selftests/net/forwarding/router_mpath_nh_res.sh
/linux-6.15/tools/testing/selftests/net/forwarding/router_multipath.sh
/linux-6.15/tools/testing/selftests/net/forwarding/tc_actions.sh
/linux-6.15/tools/testing/selftests/net/lib.sh
/linux-6.15/tools/testing/selftests/net/lib/py/ksft.py
/linux-6.15/tools/testing/selftests/net/mptcp/mptcp_connect.c
/linux-6.15/tools/testing/selftests/net/mptcp/mptcp_join.sh
/linux-6.15/tools/testing/selftests/net/mptcp/mptcp_lib.sh
/linux-6.15/tools/testing/selftests/net/netdevice.sh
/linux-6.15/tools/testing/selftests/net/netfilter/Makefile
/linux-6.15/tools/testing/selftests/net/netfilter/br_netfilter_queue.sh
/linux-6.15/tools/testing/selftests/net/netfilter/config
/linux-6.15/tools/testing/selftests/net/netfilter/nft_queue.sh
/linux-6.15/tools/testing/selftests/net/pmtu.sh
/linux-6.15/tools/testing/selftests/net/rds/Makefile
/linux-6.15/tools/testing/selftests/net/rds/README.txt
/linux-6.15/tools/testing/selftests/net/rds/config.sh
/linux-6.15/tools/testing/selftests/net/rds/run.sh
/linux-6.15/tools/testing/selftests/net/rds/test.py
/linux-6.15/tools/testing/selftests/net/tcp_ao/Makefile
/linux-6.15/tools/testing/selftests/net/tcp_ao/bench-lookups.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/config
/linux-6.15/tools/testing/selftests/net/tcp_ao/connect-deny.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/connect.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/icmps-discard.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/key-management.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/aolib.h
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/ftrace-tcp.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/ftrace.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/kconfig.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/setup.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/sock.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/lib/utils.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/restore.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/rst.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/self-connect.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/seq-ext.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/setsockopt-closed.c
/linux-6.15/tools/testing/selftests/net/tcp_ao/unsigned-md5.c
/linux-6.15/tools/testing/selftests/net/tcp_so_peek_off.c
/linux-6.15/tools/testing/selftests/net/udpgro.sh
/linux-6.15/tools/testing/selftests/net/udpgso.c
/linux-6.15/tools/testing/selftests/net/unicast_extensions.sh
/linux-6.15/tools/testing/selftests/net/vrf_route_leaking.sh
/linux-6.15/tools/testing/selftests/seccomp/seccomp_bpf.c
/linux-6.15/tools/testing/selftests/tc-testing/tdc.py
/linux-6.15/tools/testing/vsock/util.c
/linux-6.15/tools/testing/vsock/util.h
/linux-6.15/tools/testing/vsock/vsock_test.c
/linux-6.15/tools/tracing/rtla/src/osnoise_top.c
/linux-6.15/virt/kvm/Kconfig
/linux-6.15/virt/kvm/eventfd.c
/linux-6.15/virt/kvm/guest_memfd.c
/linux-6.15/virt/kvm/kvm_main.c
0903b9e223-Aug-2024 Jubilee Young <[email protected]>

rust: alloc: eschew `Box<MaybeUninit<T>>::write`

Upstream Rust's libs-api team has consensus for stabilizing some of
`feature(new_uninit)`, but not for `Box<MaybeUninit<T>>::write`. Instead,
we can

rust: alloc: eschew `Box<MaybeUninit<T>>::write`

Upstream Rust's libs-api team has consensus for stabilizing some of
`feature(new_uninit)`, but not for `Box<MaybeUninit<T>>::write`. Instead,
we can use `MaybeUninit<T>::write`, so Rust for Linux can drop the
feature after stabilization. That will happen after merging, as the FCP
has completed [1].

This is required before stabilization because remaining-unstable API
will be divided into new features. This code doesn't know about those
yet. It can't: they haven't landed, as the relevant PR is blocked on
rustc's CI testing Rust-for-Linux without this patch.

[ The PR has landed [2] and will be released in Rust 1.82.0 (expected on
2024-10-17), so we could conditionally enable the new unstable feature
(`box_uninit_write` [3]) instead, but just for a single `unsafe` block
it is probably not worth it. For the time being, I added it to the
"nice to have" section of our unstable features list. - Miguel ]

Link: https://github.com/rust-lang/rust/issues/63291#issuecomment-2183022955 [1]
Link: https://github.com/rust-lang/rust/pull/129416 [2]
Link: https://github.com/rust-lang/rust/issues/129397 [3]
Signed-off-by: Jubilee Young <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Reviewed-by: Trevor Gross <[email protected]>
[ Reworded slightly. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

96fff2dc21-Aug-2024 Kartik Prajapati <[email protected]>

rust: types: add `ARef::into_raw`

Add a method for `ARef` that is analogous to `Arc::into_raw`. It is the
inverse operation of `ARef::from_raw`, and allows you to convert the
`ARef` back into a raw

rust: types: add `ARef::into_raw`

Add a method for `ARef` that is analogous to `Arc::into_raw`. It is the
inverse operation of `ARef::from_raw`, and allows you to convert the
`ARef` back into a raw pointer while retaining ownership of the
refcount.

This new function will be used by [1] for converting the type in an
`ARef` using `ARef::from_raw(ARef::into_raw(me).cast())`. Alice has
also needed the same function for other use-cases in the past, but [1]
is the first to go upstream.

This was implemented independently by Kartik and Alice. The two versions
were merged by Alice, so all mistakes are Alice's.

Link: https://lore.kernel.org/r/[email protected] [1]
Link: https://github.com/Rust-for-Linux/linux/issues/1044
Signed-off-by: Kartik Prajapati <[email protected]>
Co-developed-by: Alice Ryhl <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Reviewed-by: Benno Lossin <[email protected]>
[ Reworded to correct the author reference and changed tag to Link
since it is not a bug. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

c730511620-Aug-2024 Michael Vetter <[email protected]>

rust: kernel: use docs.kernel.org links in code documentation

Use links to docs.kernel.org instead of www.kernel.org/doc/html/latest
in the code documentation. The links are shorter and cleaner.

Li

rust: kernel: use docs.kernel.org links in code documentation

Use links to docs.kernel.org instead of www.kernel.org/doc/html/latest
in the code documentation. The links are shorter and cleaner.

Link: https://github.com/Rust-for-Linux/linux/issues/1101
Signed-off-by: Michael Vetter <[email protected]>
[ Reworded slightly. - Miguel ]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

b204bbc514-Aug-2024 Alice Ryhl <[email protected]>

rust: list: add ListArcField

One way to explain what `ListArc` does is that it controls exclusive
access to the prev/next pointer field in a refcounted object. The
feature of having a special refere

rust: list: add ListArcField

One way to explain what `ListArc` does is that it controls exclusive
access to the prev/next pointer field in a refcounted object. The
feature of having a special reference to a refcounted object with
exclusive access to specific fields is useful for other things, so
provide a general utility for that.

This is used by Rust Binder to keep track of which processes have a
reference to a given node. This involves an object for each process/node
pair, that is referenced by both the process and the node. For some
fields in this object, only the process's reference needs to access
them (and it needs mutable access), so Binder uses a ListArc to give the
process's reference exclusive access.

Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

2003c04b14-Aug-2024 Alice Ryhl <[email protected]>

rust: list: support heterogeneous lists

Support linked lists that can hold many different structs at once. This
is generally done using trait objects. The main challenge is figuring
what the struct

rust: list: support heterogeneous lists

Support linked lists that can hold many different structs at once. This
is generally done using trait objects. The main challenge is figuring
what the struct is given only a pointer to the ListLinks.

We do this by storing a pointer to the struct next to the ListLinks
field. The container_of operation will then just read that pointer. When
the type is a trait object, that pointer will be a fat pointer whose
metadata is a vtable that tells you what kind of struct it is.

Heterogeneous lists are heavily used by Rust Binder. There are a lot of
so-called todo lists containing various events that need to be delivered
to userspace next time userspace calls into the driver. And there are
quite a few different todo item types: incoming transaction, changes to
refcounts, death notifications, and more.

Reviewed-by: Benno Lossin <[email protected]>
Signed-off-by: Alice Ryhl <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Miguel Ojeda <[email protected]>

show more ...

12345678910>>...19