summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorRunmin Wang <runminw@codeaurora.org>2016-09-12 18:23:50 -0700
committerRunmin Wang <runminw@codeaurora.org>2016-09-12 18:25:49 -0700
commitc568eb7aca15625b4afdd922350b9b352ea78c2f (patch)
tree53037d7c7f9ef93c2971014b5b17821b453d388f /drivers/char
parent9c8924dbaadbb194f6d0bf30fa7fafde20ec096c (diff)
parentbab15641824ad77e5f3af9cc4b84308cba32aa7d (diff)
Merge branch 'tmp-bab1564' into msm-4.4
* tmp-bab1564: ANDROID: mmc: Add CONFIG_MMC_SIMULATE_MAX_SPEED android: base-cfg: Add CONFIG_INET_DIAG_DESTROY cpufreq: interactive: only apply interactive boost when enabled cpufreq: interactive: fix policy locking ANDROID: dm verity fec: add sysfs attribute fec/corrected ANDROID: android: base-cfg: enable CONFIG_DM_VERITY_FEC UPSTREAM: dm verity: add ignore_zero_blocks feature UPSTREAM: dm verity: add support for forward error correction UPSTREAM: dm verity: factor out verity_for_bv_block() UPSTREAM: dm verity: factor out structures and functions useful to separate object UPSTREAM: dm verity: move dm-verity.c to dm-verity-target.c UPSTREAM: dm verity: separate function for parsing opt args UPSTREAM: dm verity: clean up duplicate hashing code UPSTREAM: dm: don't save and restore bi_private mm: Export do_munmap sdcardfs: remove unneeded __init and __exit sdcardfs: Remove unused code fs: Export d_absolute_path sdcardfs: remove effectless config option inotify: Fix erroneous update of bit count fs: sdcardfs: Declare LOOKUP_CASE_INSENSITIVE unconditionally trace: cpufreq: fix typo in min/max cpufreq sdcardfs: Add support for d_canonical_path vfs: add d_canonical_path for stacked filesystem support sdcardfs: Bring up to date with Android M permissions: Changed type-casting in packagelist management Port of sdcardfs to 4.4 Included sdcardfs source code for kernel 3.0 ANDROID: usb: gadget: Add support for MTP OS desc CHROMIUM: usb: gadget: f_accessory: add .raw_request callback CHROMIUM: usb: gadget: audio_source: add .free_func callback CHROMIUM: usb: gadget: f_mtp: fix usb_ss_ep_comp_descriptor CHROMIUM: usb: gadget: f_mtp: Add SuperSpeed support FROMLIST: mmc: block: fix ABI regression of mmc_blk_ioctl FROMLIST: mm: ASLR: use get_random_long() FROMLIST: drivers: char: random: add get_random_long() FROMLIST: pstore-ram: fix NULL reference when used with pdata usb: u_ether: Add missing rx_work init ANDROID: dm-crypt: run in a WQ_HIGHPRI workqueue misc: uid_stat: Include linux/atomic.h instead of asm/atomic.h hid-sensor-hub.c: fix wrong do_div() usage power: Provide dummy log_suspend_abort_reason() if SUSPEND is disabled PM / suspend: Add dependency on RTC_LIB drivers: power: use 'current' instead of 'get_current()' video: adf: Set ADF_MEMBLOCK to boolean video: adf: Fix modular build net: ppp: Fix modular build for PPPOLAC and PPPOPNS net: pppolac/pppopns: Replace msg.msg_iov with iov_iter_kvec() ANDROID: mmc: sdio: Disable retuning in sdio_reset_comm() ANDROID: mmc: Move tracepoint creation and export symbols ANDROID: kernel/watchdog: fix unused variable warning ANDROID: usb: gadget: f_mtp: don't use le16 for u8 field ANDROID: lowmemorykiller: fix declaration order warnings ANDROID: net: fix 'const' warnings net: diag: support v4mapped sockets in inet_diag_find_one_icsk() net: tcp: deal with listen sockets properly in tcp_abort. tcp: diag: add support for request sockets to tcp_abort() net: diag: Support destroying TCP sockets. net: diag: Support SOCK_DESTROY for inet sockets. net: diag: Add the ability to destroy a socket. net: diag: split inet_diag_dump_one_icsk into two Revert "mmc: Extend wakelock if bus is dead" Revert "mmc: core: Hold a wake lock accross delayed work + mmc rescan" ANDROID: mmc: move to a SCHED_FIFO thread Conflicts: drivers/cpufreq/cpufreq_interactive.c drivers/misc/uid_stat.c drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/card/queue.h drivers/mmc/core/core.c drivers/mmc/core/sdio.c drivers/staging/android/lowmemorykiller.c drivers/usb/gadget/function/f_mtp.c kernel/watchdog.c Signed-off-by: Runmin Wang <runminw@codeaurora.org> Change-Id: Ibb4db11c57395f67dee86211a110c462e6181552
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/random.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/char/random.c b/drivers/char/random.c
index d0da5d852d41..b583e5336630 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1819,6 +1819,28 @@ unsigned int get_random_int(void)
EXPORT_SYMBOL(get_random_int);
/*
+ * Same as get_random_int(), but returns unsigned long.
+ */
+unsigned long get_random_long(void)
+{
+ __u32 *hash;
+ unsigned long ret;
+
+ if (arch_get_random_long(&ret))
+ return ret;
+
+ hash = get_cpu_var(get_random_int_hash);
+
+ hash[0] += current->pid + jiffies + random_get_entropy();
+ md5_transform(hash, random_int_secret);
+ ret = *(unsigned long *)hash;
+ put_cpu_var(get_random_int_hash);
+
+ return ret;
+}
+EXPORT_SYMBOL(get_random_long);
+
+/*
* randomize_range() returns a start address such that
*
* [...... <range> .....]