]> git.baikalelectronics.ru Git - kernel.git/commit
inetpeer: do not use zero refcnt for freed entries
authorEric Dumazet <eric.dumazet@gmail.com>
Wed, 16 Jun 2010 04:47:39 +0000 (21:47 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Jun 2010 04:47:39 +0000 (21:47 -0700)
commite8096cd95547b5fa29359d433b042f8abd46ed48
tree6a48b8183ac6d60d8ce6a9c907de1ea35c1ca918
parentf64aa9ea2f4a7ce7aba8f8dad2e511b6f8c2a76a
inetpeer: do not use zero refcnt for freed entries

Followup of commit f1b89e6668dc (inetpeer: RCU conversion)

Unused inet_peer entries have a null refcnt.

Using atomic_inc_not_zero() in rcu lookups is not going to work for
them, and slow path is taken.

Fix this using -1 marker instead of 0 for deleted entries.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/inetpeer.c