Tak jsem se v tom trochu vrtal, abych treba dokazal ze nemate pravdu :D. A dopracoval jsem se k tehle asi klicove funkci :
void get_random_bytes_arch(void *buf, int nbytes)
1074 {
1075 char *p = buf;
1076
1077 trace_get_random_bytes(nbytes, _RET_IP_);
1078 while (nbytes) {
1079 unsigned long v;
1080 int chunk = min(nbytes, (int)sizeof(unsigned long));
1081
1082 if (!arch_get_random_long(&v))
1083 break;
1084
1085 memcpy(p, &v, chunk);
1086 p += chunk;
1087 nbytes -= chunk;
1088 }
1089
1090 if (nbytes)
1091 extract_entropy(&nonblocking_pool, p, nbytes, 0, 0);
Coz na prvni pohled vypada ze se z HW generovaneho RND udela jeste SHA1 (ve funkci "extract_entropy", nicmene konstrukce na radku 1090,1091 se podle mne neprovede asi nikdy. Nebo se pletu ?