diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/hvc_vio.c | 2 | ||||
-rw-r--r-- | drivers/char/hvcs.c | 2 | ||||
-rw-r--r-- | drivers/char/random.c | 34 | ||||
-rw-r--r-- | drivers/char/viotape.c | 2 |
4 files changed, 37 insertions, 3 deletions
diff --git a/drivers/char/hvc_vio.c b/drivers/char/hvc_vio.c index 60bb9152b832..78d681dc35a8 100644 --- a/drivers/char/hvc_vio.c +++ b/drivers/char/hvc_vio.c | |||
@@ -39,7 +39,7 @@ char hvc_driver_name[] = "hvc_console"; | |||
39 | 39 | ||
40 | static struct vio_device_id hvc_driver_table[] __devinitdata = { | 40 | static struct vio_device_id hvc_driver_table[] __devinitdata = { |
41 | {"serial", "hvterm1"}, | 41 | {"serial", "hvterm1"}, |
42 | { NULL, } | 42 | { "", "" } |
43 | }; | 43 | }; |
44 | MODULE_DEVICE_TABLE(vio, hvc_driver_table); | 44 | MODULE_DEVICE_TABLE(vio, hvc_driver_table); |
45 | 45 | ||
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c index 3236d2404905..f47f009f9259 100644 --- a/drivers/char/hvcs.c +++ b/drivers/char/hvcs.c | |||
@@ -527,7 +527,7 @@ static int khvcsd(void *unused) | |||
527 | 527 | ||
528 | static struct vio_device_id hvcs_driver_table[] __devinitdata= { | 528 | static struct vio_device_id hvcs_driver_table[] __devinitdata= { |
529 | {"serial-server", "hvterm2"}, | 529 | {"serial-server", "hvterm2"}, |
530 | { NULL, } | 530 | { "", "" } |
531 | }; | 531 | }; |
532 | MODULE_DEVICE_TABLE(vio, hvcs_driver_table); | 532 | MODULE_DEVICE_TABLE(vio, hvcs_driver_table); |
533 | 533 | ||
diff --git a/drivers/char/random.c b/drivers/char/random.c index 6b11d6b2129f..7999da25fe40 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
@@ -1589,6 +1589,40 @@ u32 secure_tcpv6_port_ephemeral(const __u32 *saddr, const __u32 *daddr, __u16 dp | |||
1589 | EXPORT_SYMBOL(secure_tcpv6_port_ephemeral); | 1589 | EXPORT_SYMBOL(secure_tcpv6_port_ephemeral); |
1590 | #endif | 1590 | #endif |
1591 | 1591 | ||
1592 | #if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE) | ||
1593 | /* Similar to secure_tcp_sequence_number but generate a 48 bit value | ||
1594 | * bit's 32-47 increase every key exchange | ||
1595 | * 0-31 hash(source, dest) | ||
1596 | */ | ||
1597 | u64 secure_dccp_sequence_number(__u32 saddr, __u32 daddr, | ||
1598 | __u16 sport, __u16 dport) | ||
1599 | { | ||
1600 | struct timeval tv; | ||
1601 | u64 seq; | ||
1602 | __u32 hash[4]; | ||
1603 | struct keydata *keyptr = get_keyptr(); | ||
1604 | |||
1605 | hash[0] = saddr; | ||
1606 | hash[1] = daddr; | ||
1607 | hash[2] = (sport << 16) + dport; | ||
1608 | hash[3] = keyptr->secret[11]; | ||
1609 | |||
1610 | seq = half_md4_transform(hash, keyptr->secret); | ||
1611 | seq |= ((u64)keyptr->count) << (32 - HASH_BITS); | ||
1612 | |||
1613 | do_gettimeofday(&tv); | ||
1614 | seq += tv.tv_usec + tv.tv_sec * 1000000; | ||
1615 | seq &= (1ull << 48) - 1; | ||
1616 | #if 0 | ||
1617 | printk("dccp init_seq(%lx, %lx, %d, %d) = %d\n", | ||
1618 | saddr, daddr, sport, dport, seq); | ||
1619 | #endif | ||
1620 | return seq; | ||
1621 | } | ||
1622 | |||
1623 | EXPORT_SYMBOL(secure_dccp_sequence_number); | ||
1624 | #endif | ||
1625 | |||
1592 | #endif /* CONFIG_INET */ | 1626 | #endif /* CONFIG_INET */ |
1593 | 1627 | ||
1594 | 1628 | ||
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c index 4764b4f9555d..0aff45fac2e6 100644 --- a/drivers/char/viotape.c +++ b/drivers/char/viotape.c | |||
@@ -991,7 +991,7 @@ static int viotape_remove(struct vio_dev *vdev) | |||
991 | */ | 991 | */ |
992 | static struct vio_device_id viotape_device_table[] __devinitdata = { | 992 | static struct vio_device_id viotape_device_table[] __devinitdata = { |
993 | { "viotape", "" }, | 993 | { "viotape", "" }, |
994 | { 0, } | 994 | { "", "" } |
995 | }; | 995 | }; |
996 | 996 | ||
997 | MODULE_DEVICE_TABLE(vio, viotape_device_table); | 997 | MODULE_DEVICE_TABLE(vio, viotape_device_table); |