OSDN Git Service

net/sched: act_ct: fix ref leak when switching zones
[uclinux-h8/linux.git] / lib / random32.c
index a57a0e1..9766320 100644 (file)
@@ -41,7 +41,6 @@
 #include <linux/bitops.h>
 #include <linux/slab.h>
 #include <asm/unaligned.h>
-#include <trace/events/random.h>
 
 /**
  *     prandom_u32_state - seeded pseudo-random number generator.
@@ -387,7 +386,6 @@ u32 prandom_u32(void)
        struct siprand_state *state = get_cpu_ptr(&net_rand_state);
        u32 res = siprand_u32(state);
 
-       trace_prandom_u32(res);
        put_cpu_ptr(&net_rand_state);
        return res;
 }
@@ -553,9 +551,11 @@ static void prandom_reseed(struct timer_list *unused)
  * To avoid worrying about whether it's safe to delay that interrupt
  * long enough to seed all CPUs, just schedule an immediate timer event.
  */
-static void prandom_timer_start(struct random_ready_callback *unused)
+static int prandom_timer_start(struct notifier_block *nb,
+                              unsigned long action, void *data)
 {
        mod_timer(&seed_timer, jiffies);
+       return 0;
 }
 
 #ifdef CONFIG_RANDOM32_SELFTEST
@@ -619,13 +619,13 @@ core_initcall(prandom32_state_selftest);
  */
 static int __init prandom_init_late(void)
 {
-       static struct random_ready_callback random_ready = {
-               .func = prandom_timer_start
+       static struct notifier_block random_ready = {
+               .notifier_call = prandom_timer_start
        };
-       int ret = add_random_ready_callback(&random_ready);
+       int ret = register_random_ready_notifier(&random_ready);
 
        if (ret == -EALREADY) {
-               prandom_timer_start(&random_ready);
+               prandom_timer_start(&random_ready, 0, NULL);
                ret = 0;
        }
        return ret;