From: Andrew Morton Cc: "David S. Miller" Cc: Stephen Hemminger Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton --- net/ipv4/fib_trie.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff -puN net/ipv4/fib_trie.c~fib_trie-cleanup-fix net/ipv4/fib_trie.c --- a/net/ipv4/fib_trie.c~fib_trie-cleanup-fix +++ a/net/ipv4/fib_trie.c @@ -169,7 +169,10 @@ static struct trie *trie_local = NULL, * static inline struct tnode *node_parent(struct node *node) { - return rcu_dereference((struct tnode *) (node->parent & ~NODE_TYPE_MASK)); + struct tnode *ret; + + ret = (struct tnode *)(node->parent & ~NODE_TYPE_MASK); + return rcu_dereference(ret); } static inline void node_set_parent(struct node *node, struct tnode *ptr) _