drivers/char/random.c:get_random_long(...) before md4trans:entropycache_shared:e3cfd7f7:d0677364:47014d9d:9995eb5d:7ea55125:55bea2be:a429fcaf:4b744f91:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:811bf167:b8a0fcf3:c0a0c8a4:1818867a:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:e3cfd7f7:d0677364:47014d9d:9995eb5d:7ea55125:55bea2be:a429fcaf:4b744f91:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after md4trans:entropycache_pcpu:14fcab23:57482a5e:1c73f2b0:a8209604:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 drivers/char/random.c:get_random_long(...) before md4trans:entropycache_shared:e3cfd7f7:d0677364:47014d9d:9995eb5d:7ea55125:55bea2be:a429fcaf:4b744f91:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:14fcab23:57482a5e:1c73f2b0:a8209604:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:e3cfd7f7:d0677364:47014d9d:9995eb5d:7ea55125:55bea2be:a429fcaf:4b744f91:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after md4trans:entropycache_pcpu:551ae9:efc689b9:272fc534:d356840d:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 drivers/char/random.c:rekey_seq_generator(...) before randomize:entropycache_shared:e3cfd7f7:d0677364:47014d9d:9995eb5d:7ea55125:55bea2be:a429fcaf:4b744f91:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after randomize:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:551ae9:efc689b9:272fc534:d356840d:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_pcpu:e5550833:d3dce455:a5f920b:b84f5e72:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 drivers/char/random.c:get_random_long(...) before md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:e5550833:d3dce455:a5f920b:b84f5e72:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after md4trans:entropycache_pcpu:65963e6b:645032ce:275108fc:445412a5:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 drivers/char/random.c:get_random_long(...) before md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:65963e6b:645032ce:275108fc:445412a5:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after md4trans:entropycache_pcpu:f5b6b2f6:7279824c:de654c35:8eb4497b:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 drivers/char/random.c:get_random_long(...) before md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 before md4trans:entropycache_pcpu:f5b6b2f6:7279824c:de654c35:8eb4497b:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 after md4trans:entropycache_shared:d9b39f2e:3cac980:23285652:37cd616f:31884f33:57186a6:3c684084:a3e92485:1:0:100:80:0:0:0:0:80:0:0:0:0:0:0:0:0:c04fc870:c04fb1c0:0:0:0:0:0 after md4trans:entropycache_pcpu:b7cf271:dca7dff2:546327c7:26997cb8:ffff0665:ffffffff:0:f99b:0:0:0:0:0:0:0:0 static void rekey_seq_generator(struct work_struct *work) { int i; struct keydata *keyptr = &ip_keydata[1 ^ (ip_cnt & 1)]; get_random_bytes(keyptr->secret, sizeof(keyptr->secret)); printk(KERN_INFO "drivers/char/random.c:rekey_seq_generator(...)\n"); printk(KERN_INFO "before randomize:entropycache_shared"); for (i=0; i < sizeof(entropycache_shared); i++) { printk(":%x", entropycache_shared[i]); } printk("\n"); get_random_bytes(entropycache_shared, sizeof(entropycache_shared)); printk(KERN_INFO "after randomize:entropycache_shared"); for (i=0; i < sizeof(entropycache_shared); i++) { printk(":%x", entropycache_shared[i]); } printk("\n"); printk(KERN_INFO "before md4trans:entropycache_pcpu"); for (i=0; i < sizeof(__get_cpu_var(entropycache_pcpu)); i++) { printk(":%lx", __get_cpu_var(entropycache_pcpu)[i]); } printk("\n"); half_md4_transform((u32 *)__get_cpu_var(entropycache_pcpu), entropycache_shared); printk(KERN_INFO "after md4trans:entropycache_pcpu"); for (i=0; i < sizeof(__get_cpu_var(entropycache_pcpu)); i++) { printk(":%lx", __get_cpu_var(entropycache_pcpu)[i]); } printk("\n"); printk(KERN_INFO "after md4trans:entropycache_shared"); for (i=0; i < sizeof(entropycache_shared); i++) { printk(":%x", entropycache_shared[i]); } printk("\n"); keyptr->count = (ip_cnt & COUNT_MASK) << HASH_BITS; smp_wmb(); ip_cnt++; schedule_delayed_work(&rekey_work, REKEY_INTERVAL); } unsigned long get_random_long(void) { int i; printk(KERN_INFO "drivers/char/random.c:get_random_long(...)\n"); printk(KERN_INFO "before md4trans:entropycache_shared"); for (i=0; i < sizeof(entropycache_shared); i++) { printk(":%x", entropycache_shared[i]); } printk("\n"); printk(KERN_INFO "before md4trans:entropycache_pcpu"); for (i=0; i < sizeof(__get_cpu_var(entropycache_pcpu)); i++) { printk(":%lx", __get_cpu_var(entropycache_pcpu)[i]); } printk("\n"); half_md4_transform((u32 *)__get_cpu_var(entropycache_pcpu), entropycache_shared); printk(KERN_INFO "after md4trans:entropycache_shared"); for (i=0; i < sizeof(entropycache_shared); i++) { printk(":%x", entropycache_shared[i]); } printk("\n"); printk(KERN_INFO "after md4trans:entropycache_pcpu"); for (i=0; i < sizeof(__get_cpu_var(entropycache_pcpu)); i++) { printk(":%lx", __get_cpu_var(entropycache_pcpu)[i]); } printk("\n"); return __get_cpu_var(entropycache_pcpu)[0]; }