diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2009-06-18 00:28:51 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-18 00:28:51 -0700 |
commit | 7b85576d15bf2574b0a451108f59f9ad4170dd3f (patch) | |
tree | a2d8075b9d234b0a937d7dd82b95cb16b953aec7 /include/linux/netdevice.h | |
parent | b964758050f856e44f5fe645d03bea8a1b0b66bd (diff) | |
download | lwn-7b85576d15bf2574b0a451108f59f9ad4170dd3f.tar.gz lwn-7b85576d15bf2574b0a451108f59f9ad4170dd3f.zip |
ipv4: Fix fib_trie rebalancing, part 2
My previous patch, which explicitly delays freeing of tnodes by adding
them to the list to flush them after the update is finished, isn't
strict enough. It treats exceptionally tnodes without parent, assuming
they are newly created, so "invisible" for the read side yet.
But the top tnode doesn't have parent as well, so we have to exclude
all exceptions (at least until a better way is found). Additionally we
need to move rcu assignment of this node before flushing, so the
return type of the trie_rebalance() function is changed.
Reported-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
0 files changed, 0 insertions, 0 deletions