Loading include/net/inetpeer.h +6 −6 Original line number Diff line number Diff line Loading @@ -14,18 +14,18 @@ #include <net/ipv6.h> #include <asm/atomic.h> typedef struct { struct inetpeer_addr { union { __be32 a4; __be32 a6[4]; }; __u16 family; } inet_peer_address_t; }; struct inet_peer { /* group together avl_left,avl_right,v4daddr to speedup lookups */ struct inet_peer __rcu *avl_left, *avl_right; inet_peer_address_t daddr; struct inetpeer_addr daddr; __u32 avl_height; struct list_head unused; __u32 dtime; /* the time of last use of not Loading @@ -51,11 +51,11 @@ struct inet_peer { void inet_initpeers(void) __init; /* can be called with or without local BH being disabled */ struct inet_peer *inet_getpeer(inet_peer_address_t *daddr, int create); struct inet_peer *inet_getpeer(struct inetpeer_addr *daddr, int create); static inline struct inet_peer *inet_getpeer_v4(__be32 v4daddr, int create) { inet_peer_address_t daddr; struct inetpeer_addr daddr; daddr.a4 = v4daddr; daddr.family = AF_INET; Loading @@ -64,7 +64,7 @@ static inline struct inet_peer *inet_getpeer_v4(__be32 v4daddr, int create) static inline struct inet_peer *inet_getpeer_v6(struct in6_addr *v6daddr, int create) { inet_peer_address_t daddr; struct inetpeer_addr daddr; ipv6_addr_copy((struct in6_addr *)daddr.a6, v6daddr); daddr.family = AF_INET6; Loading net/ipv4/inetpeer.c +4 −4 Original line number Diff line number Diff line Loading @@ -161,8 +161,8 @@ static void unlink_from_unused(struct inet_peer *p) } } static int addr_compare(const inet_peer_address_t *a, const inet_peer_address_t *b) static int addr_compare(const struct inetpeer_addr *a, const struct inetpeer_addr *b) { int i, n = (a->family == AF_INET ? 1 : 4); Loading Loading @@ -211,7 +211,7 @@ static int addr_compare(const inet_peer_address_t *a, * But every pointer we follow is guaranteed to be valid thanks to RCU. * We exit from this function if number of links exceeds PEER_MAXDEPTH */ static struct inet_peer *lookup_rcu_bh(const inet_peer_address_t *daddr, static struct inet_peer *lookup_rcu_bh(const struct inetpeer_addr *daddr, struct inet_peer_base *base) { struct inet_peer *u = rcu_dereference_bh(base->root); Loading Loading @@ -472,7 +472,7 @@ static int cleanup_once(unsigned long ttl) } /* Called with or without local BH being disabled. */ struct inet_peer *inet_getpeer(inet_peer_address_t *daddr, int create) struct inet_peer *inet_getpeer(struct inetpeer_addr *daddr, int create) { struct inet_peer __rcu **stack[PEER_MAXDEPTH], ***stackptr; struct inet_peer_base *base = family_to_base(AF_INET); Loading Loading
include/net/inetpeer.h +6 −6 Original line number Diff line number Diff line Loading @@ -14,18 +14,18 @@ #include <net/ipv6.h> #include <asm/atomic.h> typedef struct { struct inetpeer_addr { union { __be32 a4; __be32 a6[4]; }; __u16 family; } inet_peer_address_t; }; struct inet_peer { /* group together avl_left,avl_right,v4daddr to speedup lookups */ struct inet_peer __rcu *avl_left, *avl_right; inet_peer_address_t daddr; struct inetpeer_addr daddr; __u32 avl_height; struct list_head unused; __u32 dtime; /* the time of last use of not Loading @@ -51,11 +51,11 @@ struct inet_peer { void inet_initpeers(void) __init; /* can be called with or without local BH being disabled */ struct inet_peer *inet_getpeer(inet_peer_address_t *daddr, int create); struct inet_peer *inet_getpeer(struct inetpeer_addr *daddr, int create); static inline struct inet_peer *inet_getpeer_v4(__be32 v4daddr, int create) { inet_peer_address_t daddr; struct inetpeer_addr daddr; daddr.a4 = v4daddr; daddr.family = AF_INET; Loading @@ -64,7 +64,7 @@ static inline struct inet_peer *inet_getpeer_v4(__be32 v4daddr, int create) static inline struct inet_peer *inet_getpeer_v6(struct in6_addr *v6daddr, int create) { inet_peer_address_t daddr; struct inetpeer_addr daddr; ipv6_addr_copy((struct in6_addr *)daddr.a6, v6daddr); daddr.family = AF_INET6; Loading
net/ipv4/inetpeer.c +4 −4 Original line number Diff line number Diff line Loading @@ -161,8 +161,8 @@ static void unlink_from_unused(struct inet_peer *p) } } static int addr_compare(const inet_peer_address_t *a, const inet_peer_address_t *b) static int addr_compare(const struct inetpeer_addr *a, const struct inetpeer_addr *b) { int i, n = (a->family == AF_INET ? 1 : 4); Loading Loading @@ -211,7 +211,7 @@ static int addr_compare(const inet_peer_address_t *a, * But every pointer we follow is guaranteed to be valid thanks to RCU. * We exit from this function if number of links exceeds PEER_MAXDEPTH */ static struct inet_peer *lookup_rcu_bh(const inet_peer_address_t *daddr, static struct inet_peer *lookup_rcu_bh(const struct inetpeer_addr *daddr, struct inet_peer_base *base) { struct inet_peer *u = rcu_dereference_bh(base->root); Loading Loading @@ -472,7 +472,7 @@ static int cleanup_once(unsigned long ttl) } /* Called with or without local BH being disabled. */ struct inet_peer *inet_getpeer(inet_peer_address_t *daddr, int create) struct inet_peer *inet_getpeer(struct inetpeer_addr *daddr, int create) { struct inet_peer __rcu **stack[PEER_MAXDEPTH], ***stackptr; struct inet_peer_base *base = family_to_base(AF_INET); Loading