lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANiq72==48=69hYiDo1321pCzgn_n1_jg=ez5UYXX91c+g5JVQ@mail.gmail.com>
Date: Fri, 5 Sep 2025 11:29:22 +0200
From: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
To: Yury Norov <yury.norov@...il.com>
Cc: Burak Emir <bqe@...gle.com>, Kees Cook <kees@...nel.org>, 
	Rasmus Villemoes <linux@...musvillemoes.dk>, Viresh Kumar <viresh.kumar@...aro.org>, 
	Miguel Ojeda <ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>, 
	Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>, 
	Björn Roy Baron <bjorn3_gh@...tonmail.com>, 
	Benno Lossin <benno.lossin@...ton.me>, Andreas Hindborg <a.hindborg@...nel.org>, 
	Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>, 
	"Gustavo A . R . Silva" <gustavoars@...nel.org>, Carlos LLama <cmllamas@...gle.com>, 
	Pekka Ristola <pekkarr@...tonmail.com>, rust-for-linux@...r.kernel.org, 
	linux-kernel@...r.kernel.org, linux-hardening@...r.kernel.org
Subject: Re: [PATCH v15 0/5] rust: adds Bitmap API, ID pool and bindings

On Thu, Sep 4, 2025 at 8:02 PM Yury Norov <yury.norov@...il.com> wrote:
>
> Added in bitmap-for-next for testing. Thanks!

linux-next breaks with CONFIG_RUST_BITMAP_HARDENED=y:

     error[E0425]: cannot find function `owned_bitmap_out_of_bounds`
in this scope
       --> rust/kernel/bitmap.rs:484:1
        |
    484 | #[kunit_tests(rust_kernel_bitmap)]
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

because the proc macro doesn't support `cfg`s (moving it below
`#[test]` wouldn't work either). I have filled:

    https://github.com/Rust-for-Linux/linux/issues/1185

so that we don't forget about it.

Meanwhile, I would recommend e.g. moving the `cfg` inside the
function, something like:

    diff --git a/rust/kernel/bitmap.rs b/rust/kernel/bitmap.rs
    index 6e0824579781..2f00e91e9c35 100644
    --- a/rust/kernel/bitmap.rs
    +++ b/rust/kernel/bitmap.rs
    @@ -551,18 +551,21 @@ fn bitmap_set_clear_find() -> Result<(), AllocError> {
             Ok(())
         }

    -    #[cfg(not(CONFIG_RUST_BITMAP_HARDENED))]
         #[test]
         fn owned_bitmap_out_of_bounds() -> Result<(), AllocError> {
    -        let mut b = BitmapVec::new(128, GFP_KERNEL)?;
    +        #[cfg(not(CONFIG_RUST_BITMAP_HARDENED))]
    +        {
    +            let mut b = BitmapVec::new(128, GFP_KERNEL)?;
    +
    +            b.set_bit(2048);
    +            b.set_bit_atomic(2048);
    +            b.clear_bit(2048);
    +            b.clear_bit_atomic(2048);
    +            assert_eq!(None, b.next_bit(2048));
    +            assert_eq!(None, b.next_zero_bit(2048));
    +            assert_eq!(None, b.last_bit());
    +        }

    -        b.set_bit(2048);
    -        b.set_bit_atomic(2048);
    -        b.clear_bit(2048);
    -        b.clear_bit_atomic(2048);
    -        assert_eq!(None, b.next_bit(2048));
    -        assert_eq!(None, b.next_zero_bit(2048));
    -        assert_eq!(None, b.last_bit());
             Ok(())
         }

Thanks!

Cheers,
Miguel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ