diff options
| author | Alexandre Courbot <acourbot@nvidia.com> | 2025-12-08 11:47:04 +0900 |
|---|---|---|
| committer | Danilo Krummrich <dakr@kernel.org> | 2026-01-14 20:32:28 +0100 |
| commit | 5d9c4c272ba06055d19e05c2a02e16e58acc8943 (patch) | |
| tree | 224d44fb3b9e8fd795b9b666df139598a72f7e53 /rust/kernel | |
| parent | 33d19f621641de1b6ec6fe1bb2ac68a7d2c61f6a (diff) | |
rust: irq: always inline functions using build_assert with arguments
`build_assert` relies on the compiler to optimize out its error path.
Functions using it with its arguments must thus always be inlined,
otherwise the error path of `build_assert` might not be optimized out,
triggering a build error.
Cc: stable@vger.kernel.org
Fixes: 746680ec6696 ("rust: irq: add flags module")
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://patch.msgid.link/20251208-io-build-assert-v3-6-98aded02c1ea@nvidia.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'rust/kernel')
| -rw-r--r-- | rust/kernel/irq/flags.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rust/kernel/irq/flags.rs b/rust/kernel/irq/flags.rs index adfde96ec47c..d26e25af06ee 100644 --- a/rust/kernel/irq/flags.rs +++ b/rust/kernel/irq/flags.rs @@ -96,6 +96,8 @@ impl Flags { self.0 } + // Always inline to optimize out error path of `build_assert`. + #[inline(always)] const fn new(value: u32) -> Self { build_assert!(value as u64 <= c_ulong::MAX as u64); Self(value as c_ulong) |
