* cpuid.h: Add missing copyright header. Fix formatting. Use uint32_t

instead of unsigned throughout.  Change functions to static inline and
	always inline.
	(cpuid): Add parameter to set ecx, allowing to request extended CPUID
	info.
	* fhandler_proc.cc (format_proc_cpuinfo): Use uint32_t instead of
	unsigned throughout.  Add fake decimal places to MHz info.  Handle more
	feature flags.
	* fhandler_random.cc (fhandler_dev_random::write): Allow up to 4K
	input to add entropy.
	* syscalls.cc: Drop including cpuid.h.
This commit is contained in:
Corinna Vinschen
2014-08-11 12:03:18 +00:00
parent f9c956a1ff
commit 5b4e301b36
5 changed files with 204 additions and 93 deletions

View File

@ -11,6 +11,7 @@ details. */
#include "winsup.h"
#include <unistd.h>
#include <sys/param.h>
#include "cygerrno.h"
#include "path.h"
#include "fhandler.h"
@ -65,10 +66,10 @@ fhandler_dev_random::write (const void *ptr, size_t len)
return -1;
}
/* Limit len to a value <= 512 since we don't want to overact.
/* Limit len to a value <= 4096 since we don't want to overact.
Copy to local buffer because CryptGenRandom violates const. */
unsigned char buf[512];
size_t limited_len = len <= 512 ? len : 512;
size_t limited_len = MIN (len, 4096);
unsigned char buf[limited_len];
memcpy (buf, ptr, limited_len);
/* Mess up system entropy source. Return error if device is /dev/random. */