[PATCH] unseeded cnrg warning flooding dmesg fix, v2
"Roberto A. Foglietta" <[email protected]> Tue, 12 May 2026 06:11:45 +0200
| Newsgroups | org.kernel.vger.linux-embedded |
|---|---|
| Message-ID | <CAJGKYO4BZQd9sCsgnrSJ-wG5aDjM2P5nXJOyhDn=nU1O3+2T8w@mail.gmail.com> |
--000000000000e9c6f00651971102 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, A patch based on 5.15.202, in-line for comments + attachment as patch Public patch by url / commit for future reference: https://raw.githubusercontent.com/robang74/uchaosys/ 4ddd9859582441afe0faf43a227124d8cf579c5c/ cnfg/bothering-warn_unseeded_randomness-fix.patch Best regards, Roberto A. Foglietta From df61514c6e07ae722c87b2727999bdc49a08bcaa Mon Sep 17 00:00:00 2001 From: "Roberto A. Foglietta" <[email protected]> Date: Tue, 12 May 2026 05:39:41 +0200 Subject: [PATCH] unseeded cnrg warning flooding dmesg fix, v2 MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Better than hiding the warning, there is a third approach compared print_ratelimited() and printk_once(), printk one over N=3D256 which is fitting this specific case: at boot time too much warnings for a few seconds but still printing something in case the problem persists without clogging the log. On a SMP system the counter might face a race condition due to non atomic increment and this can lead to skipping a scheduled print or print two of them when just one was expected. No harm in both cases, anyway. To be honest, complaining that a suppression counter might be subject to a race condition on an SMP system - when, if it weren=E2=80=99t there, a= n alarm would be triggered stating that the system is initialising cryptographic directives without adequate entropy support - seems a bit surreal to me. Patch based on Linux kernel 5.15.202 LTS master branch. v1 -> v2: a bit better English and "git am" format Signed-off-by: Roberto A. Foglietta <[email protected]> --- drivers/char/random.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index 8642326de6e1..eeec336b10fa 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -182,7 +182,8 @@ static void __cold process_random_ready_list(void) } #define warn_unseeded_randomness() \ - if (IS_ENABLED(CONFIG_WARN_ALL_UNSEEDED_RANDOM) && !crng_ready()) \ + if (IS_ENABLED(CONFIG_WARN_ALL_UNSEEDED_RANDOM) && !crng_ready() \ + && !({ static u8 x=3D-1; ++x; })) \ printk_deferred(KERN_NOTICE "random: %s called from %pS with crng_init=3D%d\n", \ __func__, (void *)_RET_IP_, crng_init) --=20 2.34.1 --000000000000e9c6f00651971102 Content-Type: text/x-patch; charset="UTF-8"; name="0001-unseeded-cnrg-warning-flooding-dmesg-fix-v2.patch" Content-Disposition: attachment; filename="0001-unseeded-cnrg-warning-flooding-dmesg-fix-v2.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mp242k450> X-Attachment-Id: f_mp242k450 RnJvbSBkZjYxNTE0YzZlMDdhZTcyMmM4N2IyNzI3OTk5YmRjNDlhMDhiY2FhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0byBBLiBGb2dsaWV0dGEiIDxyb2JlcnRvLmZvZ2xp ZXR0YUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTIgTWF5IDIwMjYgMDU6Mzk6NDEgKzAyMDAKU3Vi amVjdDogW1BBVENIXSB1bnNlZWRlZCBjbnJnIHdhcm5pbmcgZmxvb2RpbmcgZG1lc2cgZml4LCB2 MgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKQmV0dGVyIHRoYW4gaGlkaW5nIHRo ZSB3YXJuaW5nLCB0aGVyZSBpcyBhIHRoaXJkIGFwcHJvYWNoIGNvbXBhcmVkCnByaW50X3JhdGVs aW1pdGVkKCkgYW5kIHByaW50a19vbmNlKCksIHByaW50ayBvbmUgb3ZlciBOPTI1NiB3aGljaApp cyBmaXR0aW5nIHRoaXMgc3BlY2lmaWMgY2FzZTogYXQgYm9vdCB0aW1lIHRvbyBtdWNoIHdhcm5p bmdzIGZvcgphIGZldyBzZWNvbmRzIGJ1dCBzdGlsbCBwcmludGluZyBzb21ldGhpbmcgaW4gY2Fz ZSB0aGUgcHJvYmxlbQpwZXJzaXN0cyB3aXRob3V0IGNsb2dnaW5nIHRoZSBsb2cuCgpPbiBhIFNN UCBzeXN0ZW0gdGhlIGNvdW50ZXIgbWlnaHQgZmFjZSBhIHJhY2UgY29uZGl0aW9uIGR1ZSB0byBu b24KYXRvbWljIGluY3JlbWVudCBhbmQgdGhpcyBjYW4gbGVhZCB0byBza2lwcGluZyBhIHNjaGVk dWxlZCBwcmludCBvcgpwcmludCB0d28gb2YgdGhlbSB3aGVuIGp1c3Qgb25lIHdhcyBleHBlY3Rl ZC4gTm8gaGFybSBpbiBib3RoIGNhc2VzLAphbnl3YXkuCgpUbyBiZSBob25lc3QsIGNvbXBsYWlu aW5nIHRoYXQgYSBzdXBwcmVzc2lvbiBjb3VudGVyIG1pZ2h0IGJlIHN1YmplY3QKdG8gYSByYWNl IGNvbmRpdGlvbiBvbiBhbiBTTVAgc3lzdGVtIC0gd2hlbiwgaWYgaXQgd2VyZW7igJl0IHRoZXJl LCBhbgphbGFybSB3b3VsZCBiZSB0cmlnZ2VyZWQgc3RhdGluZyB0aGF0IHRoZSBzeXN0ZW0gaXMg aW5pdGlhbGlzaW5nCmNyeXB0b2dyYXBoaWMgZGlyZWN0aXZlcyB3aXRob3V0IGFkZXF1YXRlIGVu dHJvcHkgc3VwcG9ydCAtIHNlZW1zCmEgYml0IHN1cnJlYWwgdG8gbWUuCgpQYXRjaCBiYXNlZCBv biBMaW51eCBrZXJuZWwgNS4xNS4yMDIgTFRTIG1hc3RlciBicmFuY2guCgp2MSAtPiB2MjogYSBi aXQgYmV0dGVyIEVuZ2xpc2ggYW5kICJnaXQgYW0iIGZvcm1hdAoKU2lnbmVkLW9mZi1ieTogUm9i ZXJ0byBBLiBGb2dsaWV0dGEgPHJvYmVydG8uZm9nbGlldHRhQGdtYWlsLmNvbT4KLS0tCiBkcml2 ZXJzL2NoYXIvcmFuZG9tLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9yYW5kb20uYyBiL2Ry aXZlcnMvY2hhci9yYW5kb20uYwppbmRleCA4NjQyMzI2ZGU2ZTEuLmVlZWMzMzZiMTBmYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9jaGFyL3JhbmRvbS5jCisrKyBiL2RyaXZlcnMvY2hhci9yYW5kb20u YwpAQCAtMTgyLDcgKzE4Miw4IEBAIHN0YXRpYyB2b2lkIF9fY29sZCBwcm9jZXNzX3JhbmRvbV9y ZWFkeV9saXN0KHZvaWQpCiB9CiAKICNkZWZpbmUgd2Fybl91bnNlZWRlZF9yYW5kb21uZXNzKCkg XAotCWlmIChJU19FTkFCTEVEKENPTkZJR19XQVJOX0FMTF9VTlNFRURFRF9SQU5ET00pICYmICFj cm5nX3JlYWR5KCkpIFwKKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfV0FSTl9BTExfVU5TRUVERURf UkFORE9NKSAmJiAhY3JuZ19yZWFkeSgpIFwKKwkmJiAhKHsgc3RhdGljIHU4IHg9LTE7ICsreDsg fSkpIFwKIAkJcHJpbnRrX2RlZmVycmVkKEtFUk5fTk9USUNFICJyYW5kb206ICVzIGNhbGxlZCBm cm9tICVwUyB3aXRoIGNybmdfaW5pdD0lZFxuIiwgXAogCQkJCV9fZnVuY19fLCAodm9pZCAqKV9S RVRfSVBfLCBjcm5nX2luaXQpCiAKLS0gCjIuMzQuMQoK --000000000000e9c6f00651971102--