History

Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random

Pull randomness updates from Ted Ts'o: "Cleanups and bug fixes to /dev/random, add a new getrandom(2) system call, which is a superset of OpenBSD's getentropy(2) call, for use with userspace crypto libraries such as LibreSSL. Also add the ability to have a kernel thread to pull entropy from hardware rng devices into /dev/random" * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: hwrng: Pass entropy to add_hwgenerator_randomness() in bits, not bytes random: limit the contribution of the hw rng to at most half random: introduce getrandom(2) system call hw_random: fix sparse warning (NULL vs 0 for pointer) random: use registers from interrupted code for CPU's w/o a cycle counter hwrng: add per-device entropy derating hwrng: create filler thread random: add_hwgenerator_randomness() for feeding entropy from devices random: use an improved fast_mix() function random: clean up interrupt entropy accounting for archs w/o cycle counters random: only update the last_pulled time if we actually transferred entropy random: remove unneeded hash of a portion of the entropy pool random: always update the entropy pool under the spinlock

Linus Torvalds committed 12 years ago

Commit f4f142e2 parents bb2cbf5 e02b8768 files · +274 −131Browse files

Showing the changes to include/uapi (2 of 8 files). Show all

Unified · Split

2 files
  1. include/uapi/asm-generic/unistd.h +3 −1
  2. include/uapi/linux/random.h +9 −0
include/uapi/asm-generic/unistd.h+3−1
@@ -701,9 +701,11 @@ __SYSCALL(__NR_sched_getattr, sys_sched_getattr) · 700 unmodified lines
701701 __SYSCALL(__NR_renameat2, sys_renameat2)
702702 #define __NR_seccomp 277
703703 __SYSCALL(__NR_seccomp, sys_seccomp)
704+#define __NR_getrandom 278
705+__SYSCALL(__NR_getrandom, sys_getrandom)
704706
705707 #undef __NR_syscalls
706−#define __NR_syscalls 278
708+#define __NR_syscalls 279
707709
708710 /*
709711 * All syscalls below here should go away really,
include/uapi/linux/random.h+9−0
@@ -40,4 +40,13 @@ struct rand_pool_info { · 39 unmodified lines
4040 __u32 buf[0];
4141 };
4242
43+/*
44+ * Flags for getrandom(2)
45+ *
46+ * GRND_NONBLOCK Don't block and return EAGAIN instead
47+ * GRND_RANDOM Use the /dev/random pool instead of /dev/urandom
48+ */
49+#define GRND_NONBLOCK 0x0001
50+#define GRND_RANDOM 0x0002
51+
4352 #endif /* _UAPI_LINUX_RANDOM_H */