On Wed, May 18, 2022 at 08:15:31PM +0200, Florian Westphal wrote: > bh might occur while updating per-cpu rnd_state from user context, > ie. local_out path. > > BUG: using smp_processor_id() in preemptible [00000000] code: nginx/2725 > caller is nft_ng_random_eval+0x24/0x54 [nft_numgen] > Call Trace: > check_preemption_disabled+0xde/0xe0 > nft_ng_random_eval+0x24/0x54 [nft_numgen] > > Use the random driver instead, this also avoids need for local prandom > state. > > Based on earlier patch from Pablo Neira. Applied to nf.git, thanks. For the record, I have also added to the commit description: Moreover, prandom now uses the random driver since d4150779e60f ("random32: use real rng for non-deterministic randomness").