- char buf[4];
- read_dev_urandom(buf, sizeof(buf));
- random_add_noise(buf, sizeof(buf));
+ int fd;
+ int ret;
+ char buf[512];
+ struct rusage rusage;
+
+ if ((fd = open("/proc/meminfo", O_RDONLY)) >= 0) {
+ while ( (ret = read(fd, buf, sizeof(buf))) > 0)
+ random_add_noise(buf, ret);
+ close(fd);
+ }
+ if ((fd = open("/proc/stat", O_RDONLY)) >= 0) {
+ while ( (ret = read(fd, buf, sizeof(buf))) > 0)
+ random_add_noise(buf, ret);
+ close(fd);
+ }
+ getrusage(RUSAGE_SELF, &rusage);
+ random_add_noise(&rusage, sizeof(rusage));