From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 Date: Tue, 3 Sep 2019 11:25:07 +0300 From: "Alexey V. Vissarionov" To: ALT Linux Team development discussions Message-ID: <20190903082507.GQ12903@altlinux.org> References: <20190531105614.GD27835@altlinux.org> <975ac233-dc84-d9eb-1d24-975ee807c075@basealt.ru> <20190831123520.GD12903@altlinux.org> <936a2336-e8c6-8274-37cf-a8059ee9bf44@gmail.com> <20190831154243.GE12903@altlinux.org> <7e2bba2a-867f-b8a0-6e27-1a07521e13fb@gmail.com> <77efad51-4876-fa68-f8e5-291a3bb5a058@altlinux.org> <8e9524fd-c255-2565-5773-dbe91f4fda65@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8e9524fd-c255-2565-5773-dbe91f4fda65@altlinux.org> Subject: Re: [devel] rngd vs haveged vs crng (khwrngd) X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Sep 2019 08:25:12 -0000 Archived-At: List-Archive: List-Post: On 2019-09-03 10:28:59 +0300, Aleksei Nikiforov wrote: >> Но поскольку за запуск PID 1 и за энтропию отвечает одно и >> то же ядро, то непонятно, почему нельзя сначала накопить >> энтропию (послушать диски, сеть и т.п.), и только потом уже >> запустить PID 1? > А разве всем реализациям PID 1 нужна энтропия для работы > во всех сценариях запуска? Кажется, нет, потому и не ждут > энтропию для PID 1. По уму процесс, работающий с PID == 1, может вообще выглядеть так (цитирую содержательную часть): sigfillset(&sset); sigprocmask(SIG_BLOCK, &sset, NULL); if(fork()) { for(;;) wait(NULL); } else { sigprocmask(SIG_UNBLOCK, &sset, NULL); setsid(); setpgrp(); /* find and execute startup script */ execve("/etc/rc", (char *[]){"rc", NULL}, (char *[]){NULL}); /* this would cause kernel panic and (if enabled) reboot */ return 1; } Ясен пень, никакой ГСЧ ему для работы не нужен. -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net