diff options
author | Reshetova, Elena <elena.reshetova@intel.com> | 2017-07-04 08:53:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-07-04 17:35:17 -0400 |
commit | 16f73c964956e0f78669f1681191093dd030c9ee (patch) | |
tree | 69006e3034abb570b6d8edda51ae3523b40f77ed /net/ipx | |
parent | d25189ca8665e3ed493c7bc0607e62c2fcb314ad (diff) |
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.c | 2 |
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, | |||
59 | if (!rt) | 59 | if (!rt) |
60 | goto out; | 60 | goto out; |
61 | 61 | ||
62 | atomic_set(&rt->refcnt, 1); | 62 | refcount_set(&rt->refcnt, 1); |
63 | ipxrtr_hold(rt); | 63 | ipxrtr_hold(rt); |
64 | write_lock_bh(&ipx_routes_lock); | 64 | write_lock_bh(&ipx_routes_lock); |
65 | list_add(&rt->node, &ipx_routes); | 65 | list_add(&rt->node, &ipx_routes); |