From: "Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
To: Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Arnd Bergmann <arnd@arndb.de>,
"David S. Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
Nick Alcock <nick.alcock@oracle.com>,
John Stultz <jstultz@google.com>,
Stephen Boyd <sboyd@kernel.org>,
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
Shuah Khan <shuah@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Theodore Ts'o <tytso@mit.edu>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Russell King <linux@armlinux.org.uk>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Shannon Nelson <sln@onemain.com>
Cc: linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org,
linux-kselftest@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-s390@vger.kernel.org,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
Subject: [PATCH v5 17/34] random: vDSO: remove ifdeffery
Date: Thu, 06 Nov 2025 11:02:10 +0100 [thread overview]
Message-ID: <20251106-vdso-sparc64-generic-2-v5-17-97ff2b6542f7@linutronix.de> (raw)
In-Reply-To: <20251106-vdso-sparc64-generic-2-v5-0-97ff2b6542f7@linutronix.de>
Ifdeffery in C source files is discouraged.
Use IS_ENABLED() instead.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Tested-by: Andreas Larsson <andreas@gaisler.com>
Reviewed-by: Andreas Larsson <andreas@gaisler.com>
---
drivers/char/random.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 3860ddd9527930780d5c13cd4742fbc3c27acc42..b0b88c6f6a1afcdb770e39b7a64cb3408e33bd2c 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -56,9 +56,7 @@
#include <linux/sched/isolation.h>
#include <crypto/chacha.h>
#include <crypto/blake2s.h>
-#ifdef CONFIG_VDSO_GETRANDOM
#include <vdso/datapage.h>
-#endif
#include <asm/archrandom.h>
#include <asm/processor.h>
#include <asm/irq.h>
@@ -274,7 +272,7 @@ static void crng_reseed(struct work_struct *work)
if (next_gen == ULONG_MAX)
++next_gen;
WRITE_ONCE(base_crng.generation, next_gen);
-#ifdef CONFIG_VDSO_GETRANDOM
+
/* base_crng.generation's invalid value is ULONG_MAX, while
* vdso_k_rng_data->generation's invalid value is 0, so add one to the
* former to arrive at the latter. Use smp_store_release so that this
@@ -288,8 +286,9 @@ static void crng_reseed(struct work_struct *work)
* because the vDSO side only checks whether the value changed, without
* actually using or interpreting the value.
*/
- smp_store_release((unsigned long *)&vdso_k_rng_data->generation, next_gen + 1);
-#endif
+ if (IS_ENABLED(CONFIG_VDSO_GETRANDOM))
+ smp_store_release((unsigned long *)&vdso_k_rng_data->generation, next_gen + 1);
+
if (!static_branch_likely(&crng_is_ready))
crng_init = CRNG_READY;
spin_unlock_irqrestore(&base_crng.lock, flags);
@@ -742,9 +741,8 @@ static void __cold _credit_init_bits(size_t bits)
if (static_key_initialized && system_unbound_wq)
queue_work(system_unbound_wq, &set_ready);
atomic_notifier_call_chain(&random_ready_notifier, 0, NULL);
-#ifdef CONFIG_VDSO_GETRANDOM
- WRITE_ONCE(vdso_k_rng_data->is_ready, true);
-#endif
+ if (IS_ENABLED(CONFIG_VDSO_GETRANDOM))
+ WRITE_ONCE(vdso_k_rng_data->is_ready, true);
wake_up_interruptible(&crng_init_wait);
kill_fasync(&fasync, SIGIO, POLL_IN);
pr_notice("crng init done\n");
--
2.51.0
next prev parent reply other threads:[~2025-11-06 10:02 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 10:01 [PATCH v5 00/34] sparc64: vdso: Switch to the generic vDSO library Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 01/34] selftests: vDSO: vdso_test_correctness: Handle different tv_usec types Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 02/34] arm64: vDSO: getrandom: Explicitly include asm/alternative.h Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 03/34] arm64: vDSO: gettimeofday: Explicitly include vdso/clocksource.h Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 04/34] arm64: vDSO: compat_gettimeofday: Add explicit includes Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 05/34] ARM: vdso: gettimeofday: " Thomas Weißschuh
2025-11-06 10:01 ` [PATCH v5 06/34] powerpc/vdso/gettimeofday: Explicitly include vdso/time32.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 07/34] powerpc/vdso: Explicitly include asm/cputable.h and asm/feature-fixups.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 08/34] LoongArch: vDSO: Explicitly include asm/vdso/vdso.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 09/34] MIPS: vdso: Add include guard to asm/vdso/vdso.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 10/34] MIPS: vdso: Explicitly include asm/vdso/vdso.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 11/34] random: vDSO: Add explicit includes Thomas Weißschuh
2025-11-07 23:59 ` Jason A. Donenfeld
2025-11-06 10:02 ` [PATCH v5 12/34] vdso/gettimeofday: " Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 13/34] vdso/helpers: Explicitly include vdso/processor.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 14/34] vdso/datapage: Remove inclusion of gettimeofday.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 15/34] vdso/datapage: Trim down unnecessary includes Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 16/34] random: vDSO: trim vDSO includes Thomas Weißschuh
2025-11-07 23:49 ` Jason A. Donenfeld
2025-11-08 0:00 ` Jason A. Donenfeld
2025-11-06 10:02 ` Thomas Weißschuh [this message]
2025-11-07 23:37 ` [PATCH v5 17/34] random: vDSO: remove ifdeffery Jason A. Donenfeld
2025-11-10 8:45 ` Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 18/34] random: vDSO: split out datapage update into helper functions Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 19/34] random: vDSO: only access vDSO datapage after random_init() Thomas Weißschuh
2025-11-07 23:46 ` Jason A. Donenfeld
2025-11-10 9:04 ` Thomas Weißschuh
2025-11-10 10:37 ` Jason A. Donenfeld
2025-11-10 11:24 ` Thomas Weißschuh
2025-11-10 11:40 ` Jason A. Donenfeld
2025-11-11 8:55 ` Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 20/34] s390/time: Set up vDSO datapage later Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 21/34] vdso/datastore: Reduce scope of some variables in vvar_fault() Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 22/34] vdso/datastore: Drop inclusion of linux/mmap_lock.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 23/34] vdso/datastore: Allocate data pages dynamically Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 24/34] sparc64: vdso: Link with -z noexecstack Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 25/34] sparc64: vdso: Remove obsolete "fake section table" reservation Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 26/34] sparc64: vdso: Replace code patching with runtime conditional Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 27/34] sparc64: vdso: Move hardware counter read into header Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 28/34] sparc64: vdso: Move syscall fallbacks " Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 29/34] sparc64: vdso: Introduce vdso/processor.h Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 30/34] sparc64: vdso: Switch to the generic vDSO library Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 31/34] sparc64: vdso2c: Drop sym_vvar_start handling Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 32/34] sparc64: vdso2c: Remove symbol handling Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 33/34] sparc64: vdso: Implement clock_gettime64() Thomas Weißschuh
2025-11-06 10:02 ` [PATCH v5 34/34] clocksource: remove ARCH_CLOCKSOURCE_DATA Thomas Weißschuh
2025-11-06 12:55 ` [PATCH v5 00/34] sparc64: vdso: Switch to the generic vDSO library Aithal, Srikanth
2025-11-06 14:02 ` Mark Brown
2025-11-06 17:20 ` Arnd Bergmann
2025-11-08 0:17 ` Andy Lutomirski
2025-11-08 10:17 ` Arnd Bergmann
2025-11-09 3:23 ` Maciej W. Rozycki
2025-11-09 16:08 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251106-vdso-sparc64-generic-2-v5-17-97ff2b6542f7@linutronix.de \
--to=thomas.weissschuh@linutronix.de \
--cc=Jason@zx2c4.com \
--cc=agordeev@linux.ibm.com \
--cc=andreas@gaisler.com \
--cc=arnd@arndb.de \
--cc=borntraeger@linux.ibm.com \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=davem@davemloft.net \
--cc=glaubitz@physik.fu-berlin.de \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=jstultz@google.com \
--cc=kernel@xen0n.name \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=luto@kernel.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=nick.alcock@oracle.com \
--cc=npiggin@gmail.com \
--cc=sboyd@kernel.org \
--cc=shuah@kernel.org \
--cc=sln@onemain.com \
--cc=sparclinux@vger.kernel.org \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=tsbogend@alpha.franken.de \
--cc=tytso@mit.edu \
--cc=vincenzo.frascino@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).