rendered paste bodyfalcon randint # make clean && cp /usr/src/linux/drivers/char/random.o . && cp /usr/src/linux/lib/sha1.o . && make && insmod ./randtest.ko && rmmod randtest
rm -f Module.symvers *.o *~ .\#* .*.cmd *.mod.c *.ko
rm -rf .tmp_versions
make -C /lib/modules/2.6.21.5/build/ SUBDIRS=/root/randint modules
make[1]: Entering directory `/usr/src/linux-2.6.21.5'
CC [M] /root/randint/randint.o
LD [M] /root/randint/randtest.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/randint/randtest.mod.o
LD [M] /root/randint/randtest.ko
make[1]: Leaving directory `/usr/src/linux-2.6.21.5'
falcon randint # make clean && cp /usr/src/linux/drivers/char/random.o . && cp /usr/src/linux/lib/sha1.o . && make && insmod ./randtest.ko && rmmod randtest
rm -f Module.symvers *.o *~ .\#* .*.cmd *.mod.c *.ko
rm -rf .tmp_versions
make -C /lib/modules/2.6.21.5/build/ SUBDIRS=/root/randint modules
make[1]: Entering directory `/usr/src/linux-2.6.21.5'
CC [M] /root/randint/randint.o
LD [M] /root/randint/randtest.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/randint/randtest.mod.o
LD [M] /root/randint/randtest.ko
make[1]: Leaving directory `/usr/src/linux-2.6.21.5'
falcon randint # make clean && cp /usr/src/linux/drivers/char/random.o . && cp /usr/src/linux/lib/sha1.o . && make && insmod ./randtest.ko && rmmod randtest
rm -f Module.symvers *.o *~ .\#* .*.cmd *.mod.c *.ko
rm -rf .tmp_versions
make -C /lib/modules/2.6.21.5/build/ SUBDIRS=/root/randint modules
make[1]: Entering directory `/usr/src/linux-2.6.21.5'
CC [M] /root/randint/randint.o
LD [M] /root/randint/randtest.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/randint/randtest.mod.o
LD [M] /root/randint/randtest.ko
make[1]: Leaving directory `/usr/src/linux-2.6.21.5'
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xb525bcda=0xb525bcdb
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xb7004c3d=0xb7004c3e
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xbb0f997a=0xbb0f997b
Possible Security Problem: Fast repeated calls to the function secure_tcp_sequence_number() is not cryptographically safe: 0xbba4817b=0xbba4817b
Possible Security Problem: Fast repeated calls to the function secure_tcp_sequence_number() is not cryptographically safe: 0xbc6e6233=0xbc6e6233
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xbce94dcd=0xbce94dce
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xbd10eced=0xbd10ecee
Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0xbe67bc5e=0xbe67bc5f
falcon randint # cat Kbuild ; cat Makefile ; cat randint.c
obj-m := randtest.o
randtest-objs := randint.o
# sha1.o random.o
default:
make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(PWD) modules
clean:
rm -f Module.symvers *.o *~ .\#* .*.cmd *.mod.c *.ko
rm -rf .tmp_versions
/*-
solar,pappy@gentoo.org
Tue Jun 19 00:39:29
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/random.h>
static int randint_init(void) {
unsigned int seed[2];
seed[0] = secure_tcp_sequence_number(0,(__force __be32)(current->pid + jiffies),0,0);
seed[1] = secure_tcp_sequence_number(0,(__force __be32)(current->pid + jiffies),0,0);
if (seed[0] == seed[1]) {
printk(KERN_ALERT "Possible Security Problem: Fast repeated calls to the function secure_tcp_sequence_number() is not cryptographically safe: 0x%0*x=0x%0*x\n",
sizeof(long), seed[0], sizeof(long), seed[1]);
return 1;
} else {
printk(KERN_INFO "Checking randomization: Fast repeated calls to the function secure_tcp_sequence_number(): 0x%0*x=0x%0*x\n",
sizeof(long), seed[0], sizeof(long), seed[1]);
return 0;
}
}
static void randint_exit(void) {
return;
}
module_init(randint_init);
module_exit(randint_exit);
MODULE_LICENSE("GPL");