cpumask.rs uses the idiom MaybeUninit::uninit().assume_init(). That pattern looks very wrong and we shouldn't use it. In this case it is sound, because the value that is created is a newtype of Opaque<_>, so it's fine. But a better way to create that value would be to use Opaque::uninit(). That way we also remove an unsafe block.
This requires submitting a proper patch to the LKML and the Rust for Linux mailing list. Please recall to test your changes (including generating the documentation if changed, running the Rust doctests if changed, etc.), to use a proper title for the commit, to sign your commit under the Developer's Certificate of Origin and to add a Suggested-by: tag, and a Link: tag to this issue. Please see https://docs.kernel.org/process/submitting-patches.html and https://rust-for-linux.com/contributing for details.
cpumask.rsuses the idiomMaybeUninit::uninit().assume_init(). That pattern looks very wrong and we shouldn't use it. In this case it is sound, because the value that is created is a newtype ofOpaque<_>, so it's fine. But a better way to create that value would be to useOpaque::uninit(). That way we also remove anunsafeblock.This requires submitting a proper patch to the LKML and the Rust for Linux mailing list. Please recall to test your changes (including generating the documentation if changed, running the Rust doctests if changed, etc.), to use a proper title for the commit, to sign your commit under the Developer's Certificate of Origin and to add a
Suggested-by:tag, and aLink:tag to this issue. Please see https://docs.kernel.org/process/submitting-patches.html and https://rust-for-linux.com/contributing for details.