Re: [PATCH] rust: print: avoid evaluating arguments in `pr_*` macros in `unsafe` blocks

From: Miguel Ojeda
Date: Sun Jan 15 2023 - 19:03:22 EST


On Mon, Jan 9, 2023 at 9:49 PM Miguel Ojeda <ojeda@xxxxxxxxxx> wrote:
>
> At the moment it is possible to perform unsafe operations in
> the arguments of `pr_*` macros since they are evaluated inside
> an `unsafe` block:
>
> let x = &10u32 as *const u32;
> pr_info!("{}", *x);
>
> In other words, this is a soundness issue.
>
> Fix it so that it requires an explicit `unsafe` block.
>
> Reported-by: Wedson Almeida Filho <wedsonaf@xxxxxxxxx>
> Reported-by: Domen Puncer Kugler <domen.puncerkugler@xxxxxxxxxxxx>
> Link: https://github.com/Rust-for-Linux/linux/issues/479
> Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>

Applied to rust-fixes, thanks all!

Cheers,
Miguel