On 6.10.2016 14:20, Miroslav Lachman wrote:
Chtel jsem se jen tak zeptat, jestli nekdo pouzivate nastaveni kern.randompid=1,

S jednickou si moc nepomuzes, to je jak nula.

Zkus si to - ten sysctl ti po pokusu dat tam jednicku rekne, ze 0 -> 0

Zcela presne:
0,1             -> 0
2..99           -> 100
> pid_max - 100 -> pid_max - 100

Rekneme, zes tam dal neco v rozsahu 100..pid_max - 100

V takovem pripade neni kandidat na budouci pid
lastpid+1
ale
arc4random() % randompid

Takto ziskana hodnota projde jeste nejakymi kontrolami a upravami, ale to uz pro ucely tehle debaty neni zajimave.

Jo, a behem bootu to funguje mirne jinak jak zminim nize.

aby se PID pro procesy negenerovaly sekvencne, ale
nahodne a pripadne jestli to ma nejake (treba vykonnostni) nevyhody,

arc4random() samozrejme je vypocetne narocnejsi nez (lastpid+1)
Jiny slovy "trva dele", coz ti muze vadit zejmena pokud ti hodne zalezi na co nejrychlejsi odezve.

Uz davno jsem si vsimnul, ze ty procesy, co se spousteji hned pro bootu,
maji velmi podobne, nebo uplne stejne PID porad dokola

Behem bootu (presneji receno, pri startu konkretnich vybranych "prvotnich" procesu) se arc4random() nepouziva nikdy (a navic se za "rezervovane" povazuji pouze pid 0..9 nikoliv 0..99 jako pri beznem provozu).

a podle jistych teorii to muze utocnikum usnadnovat trochu cestu, i kdyz asi ne 
moc  vyzname.

Zalezi jak moc vyznavas teorii, ze kazda informace muze za urcitych okolnosti utocnikovi pomoci ;-)

Urcite dokazu vymyslet takovou chybu systemu, k jejimuz vyuziti budu potrebovat znat PID konkretniho procesu, nebudu ho ale schopen zjistit.

Jo - a nebude se mi z nejakeho duvodu hodit zrovna 'init', jehoz pid je 1 zcela bez vyjimky.

Klicova otazka je, jak moc se takove chyby bojis.

Ma tedy ta randomizace nejaky smysl, nebo je to zbytecne?

Ano ;-)

Dan


--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem