summaryrefslogtreecommitdiff
path: root/net/ipx
diff options
context:
space:
mode:
authorReshetova, Elena <elena.reshetova@intel.com>2017-07-04 15:53:10 +0300
committerDavid S. Miller <davem@davemloft.net>2017-07-04 22:35:17 +0100
commit16f73c964956e0f78669f1681191093dd030c9ee (patch)
tree69006e3034abb570b6d8edda51ae3523b40f77ed /net/ipx
parentd25189ca8665e3ed493c7bc0607e62c2fcb314ad (diff)
downloadlwn-16f73c964956e0f78669f1681191093dd030c9ee.tar.gz
lwn-16f73c964956e0f78669f1681191093dd030c9ee.zip
net, ipx: convert ipx_route.refcnt from atomic_t to refcount_t
refcount_t type and corresponding API should be used instead of atomic_t when the variable is used as a reference counter. This allows to avoid accidental refcounter overflows that might lead to use-after-free situations. Signed-off-by: Elena Reshetova <elena.reshetova@intel.com> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: David Windsor <dwindsor@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipx')
-rw-r--r--net/ipx/ipx_route.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipx/ipx_route.c b/net/ipx/ipx_route.c
index 3e2a32a9f3bd..b5d91447f3dc 100644
--- a/net/ipx/ipx_route.c
+++ b/net/ipx/ipx_route.c
@@ -59,7 +59,7 @@ int ipxrtr_add_route(__be32 network, struct ipx_interface *intrfc,
if (!rt)
goto out;
- atomic_set(&rt->refcnt, 1);
+ refcount_set(&rt->refcnt, 1);
ipxrtr_hold(rt);
write_lock_bh(&ipx_routes_lock);
list_add(&rt->node, &ipx_routes);