From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 332471F0E44 for ; Mon, 3 Mar 2025 08:45:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740991558; cv=none; b=muyd6VsCsuyPFOT4xQzl5ED+uqDLv/Y+7HFYr+CdctySBTOVFpRU57LL9BD3XjQ0TqiO34QbExa/Y5074KGoxkH3SjnwpHFSkEJodzlTe+QdmjGPdZ3LSM6V6wgvzDLFWD0Xa7L0RjjjXUKCvVG/As3LRJvu7Oe2uYBynBgl1T4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740991558; c=relaxed/simple; bh=27rIJnpKMgqp3S9uOE1r8d3kMA+evBJFEj9qZVD/zkk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=krK+Ljmgf2RbhzRNanzuKjW2rEvC0b/ccOhuuKsJyvOgqqJTH6ZM6A45JFDneSRncyKqriPrflAILWomm8QuhZZqGQk1ev1a04HDMLdJtnFIX+p1eYsz9g4QD7g+MAJGKEZX4hK04zFpmYmGOT7d0EyoFpACVFXNxbYjv4HFQwo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=p48O97by; arc=none smtp.client-ip=209.85.128.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="p48O97by" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-43947a0919aso36023265e9.0 for ; Mon, 03 Mar 2025 00:45:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740991555; x=1741596355; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=TlZATerwOi5j8gaqWad51my4T/CPZsM36wEeCkoHEk0=; b=p48O97by5p6mUj8nZfDGwi4iuM/oROgGLYrNRlsmfg6Xblg0vmQEGagz+wu+Wh01LH m8rBVI7TP/ZiJk+jV5cUaDYTIdUVCnoD6XM1gFHXQqiz4mubtzpXCO2muQtqGyYyfwmz 5OjN6p4JOlpM8tX7/EwcFjG9HawDckUiVATXkFdUBMg+A1aBGwIX8LuOcZVo7hzqD1Lz m9eSsnBGiAo5TUmA/3lPHXzhrxKovn7IkXbauit28Le0eJrHagDLbdRP6ioSGWK/PhGw hMEsXZe3Kbw5sKGoqnJ/6PKUN/P3DppszCTiOjEu2on03kBnRYk0bRUxzHahpMYMYy/7 s5xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740991555; x=1741596355; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TlZATerwOi5j8gaqWad51my4T/CPZsM36wEeCkoHEk0=; b=HoqLerznjS1VLYsZBBQQMGQXeo3tJiE7JQGuctziqDE1JAQAoyVyp49QFrt63HyvRl vtftei8MpLE+3D3eToUSjMXTXGfol/5QEVcarpGRN+N7o8Dr0rZ559f+MUW2itkBR5Df vFXcgl1LZAEoHgxUruhgQD+JsUW5xOrPvcAHtKbWf5RGyPCdiR/CI21Ah9EmPq0yk0Az ERCCDYm7K+iE8ViOV9Mx8VOY2TNHrdmcnOVaNPxsH9NlclItZYhi9grbJ7dkDs0jhAGY RuFuZyKM0JHzlpPn6kvXZN4L/5wSl9d+pMe2Y+UAHz8qn+h6c0QBoQ5FqumuSVYUZpdG cMrA== X-Forwarded-Encrypted: i=1; AJvYcCXjxEUpW41vsm1NtJAE9jaJoNXH0YMJyjTCXK3vJNVbTBQQjwZ3whn4WeL9k8z+H8eRN3HN3/uCQF6AjXyW0g==@vger.kernel.org X-Gm-Message-State: AOJu0YwlFFi67joxbCL2tE8Dz4rfn0/Nb+CGDx0ccPAUoqAtjXan8oMs DboyvPeaefUCS6zAW0u111sq/HwvNLPjIt9AsQzr2IuPyBKuHxVrpyzO/liS67s5q6I1YOUaKiW MyhlieJ9+/rfWAA== X-Google-Smtp-Source: AGHT+IF/OlL6SSDUrA711Q70XX+2KHCrfpkEqlIN+HJZdKgaK09VyIf3il1gLPXIbqk4NQNUA9/BHyQB6JirT4I= X-Received: from wmbhc11.prod.google.com ([2002:a05:600c:870b:b0:43b:6943:f013]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:154f:b0:43b:b933:33e4 with SMTP id 5b1f17b1804b1-43bb9333572mr39999305e9.15.1740991555606; Mon, 03 Mar 2025 00:45:55 -0800 (PST) Date: Mon, 03 Mar 2025 08:45:15 +0000 In-Reply-To: <20250303-export-macro-v3-0-41fbad85a27f@google.com> Precedence: bulk X-Mailing-List: rust-for-linux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250303-export-macro-v3-0-41fbad85a27f@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=2101; i=aliceryhl@google.com; h=from:subject:message-id; bh=27rIJnpKMgqp3S9uOE1r8d3kMA+evBJFEj9qZVD/zkk=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBnxWw2Tay53acZ34Qn0eFiLPW+Lb9vqKq4R/vG+ fx9bpMrWpmJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCZ8VsNgAKCRAEWL7uWMY5 RnTbD/9YsPVC7+afuFs+98V5aJHhzrUsrsUFek7EYVLlN7anvgFXZxC5zDoVi/nKouxeYNlUrkc nfExRYI0ZxQ54u4GfOXQlinasxJJwgXnwcymxJNwO4mg0St1dJaIgInwn4tvjtASj5I9aEOwcXE u45D6rRKGtyWOJkwGSh76n3mNuwWSLejj6TrTQeItBP2dK1djpNdyvqjWE1NT6bijf79nFgDOCG b5rQ/f253UATffkklrsB+DVFQ2C3Qwke3eDB9sZsNNlOUzX2FPFxuUhc/g0iMsp74jbh+mPLauc MDp6YC0mvqDWt9VykZdmjb9WhvgOQxktmuMMmszdOBgpu2Q1zJ0yXZ7bEqtwPgLzGS2e3RfUvII QSGkt4/jG/5vCO7daJ6gnQJrOHdK6oh5SvbjPLOhOnDqo6ZiQ94EBhmdnc9lZXFFLLixX57HALS hxF+9lS0IGeqfadsMhaBnBU2iKF7M5zcIv2GP4xS93UMUuDLv9zXn6jR8tdAxHnRVPwlzvb3LQ2 kljkwSsO+yYAsFZogs2EyYIs3myE57AmrK5QsztGscSBm0GmYx75alc7vCq2XKeDsVVa3Ysmn4G 22cKUJot+xuuQtxOslAt3ovEaDbED+emWSenu2ChOBo+AvJ6KAl2UMB5JzN3ejJFsF7d3X4oQJz dmH/R6fzrwpBmvg== X-Mailer: b4 0.14.1 Message-ID: <20250303-export-macro-v3-4-41fbad85a27f@google.com> Subject: [PATCH v3 4/5] print: use new #[export] macro for rust_fmt_argument From: Alice Ryhl To: Greg Kroah-Hartman , Miguel Ojeda Cc: Petr Mladek , Steven Rostedt , Andy Shevchenko , Rasmus Villemoes , Sergey Senozhatsky , Andrew Morton , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Tamir Duberstein , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, dri-devel@lists.freedesktop.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" This moves the rust_fmt_argument function over to use the new #[export] macro, which will verify at compile-time that the function signature matches what is in the header file. Reviewed-by: Andreas Hindborg Reviewed-by: Tamir Duberstein Acked-by: Greg Kroah-Hartman Signed-off-by: Alice Ryhl --- include/linux/sprintf.h | 3 +++ lib/vsprintf.c | 3 --- rust/kernel/print.rs | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/linux/sprintf.h b/include/linux/sprintf.h index 33dcbec71925..029ad83efd74 100644 --- a/include/linux/sprintf.h +++ b/include/linux/sprintf.h @@ -24,4 +24,7 @@ __scanf(2, 0) int vsscanf(const char *, const char *, va_list); extern bool no_hash_pointers; int no_hash_pointers_enable(char *str); +/* Used for Rust formatting ('%pA'). */ +char *rust_fmt_argument(char *buf, char *end, const void *ptr); + #endif /* _LINUX_KERNEL_SPRINTF_H */ diff --git a/lib/vsprintf.c b/lib/vsprintf.c index a8ac4c4fffcf..1da61c3e011f 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -2284,9 +2284,6 @@ int __init no_hash_pointers_enable(char *str) } early_param("no_hash_pointers", no_hash_pointers_enable); -/* Used for Rust formatting ('%pA'). */ -char *rust_fmt_argument(char *buf, char *end, const void *ptr); - /* * Show a '%p' thing. A kernel extension is that the '%p' is followed * by an extra set of alphanumeric characters that are extended format diff --git a/rust/kernel/print.rs b/rust/kernel/print.rs index 61ee36c5e5f5..cf4714242e14 100644 --- a/rust/kernel/print.rs +++ b/rust/kernel/print.rs @@ -8,13 +8,14 @@ use crate::{ ffi::{c_char, c_void}, + prelude::*, str::RawFormatter, }; use core::fmt; // Called from `vsprintf` with format specifier `%pA`. #[expect(clippy::missing_safety_doc)] -#[no_mangle] +#[export] unsafe extern "C" fn rust_fmt_argument( buf: *mut c_char, end: *mut c_char, -- 2.48.1.711.g2feabab25a-goog