aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/calipso.h4
-rw-r--r--net/ipv6/calipso.c12
2 files changed, 8 insertions, 8 deletions
diff --git a/include/net/calipso.h b/include/net/calipso.h
index b1b30cd36601..5f95b11a04bf 100644
--- a/include/net/calipso.h
+++ b/include/net/calipso.h
@@ -38,7 +38,7 @@
38#include <linux/skbuff.h> 38#include <linux/skbuff.h>
39#include <net/netlabel.h> 39#include <net/netlabel.h>
40#include <net/request_sock.h> 40#include <net/request_sock.h>
41#include <linux/atomic.h> 41#include <linux/refcount.h>
42#include <asm/unaligned.h> 42#include <asm/unaligned.h>
43 43
44/* known doi values */ 44/* known doi values */
@@ -57,7 +57,7 @@ struct calipso_doi {
57 u32 doi; 57 u32 doi;
58 u32 type; 58 u32 type;
59 59
60 atomic_t refcount; 60 refcount_t refcount;
61 struct list_head list; 61 struct list_head list;
62 struct rcu_head rcu; 62 struct rcu_head rcu;
63}; 63};
diff --git a/net/ipv6/calipso.c b/net/ipv6/calipso.c
index 44067521e7cd..1323b9679cf7 100644
--- a/net/ipv6/calipso.c
+++ b/net/ipv6/calipso.c
@@ -338,7 +338,7 @@ static struct calipso_doi *calipso_doi_search(u32 doi)
338 struct calipso_doi *iter; 338 struct calipso_doi *iter;
339 339
340 list_for_each_entry_rcu(iter, &calipso_doi_list, list) 340 list_for_each_entry_rcu(iter, &calipso_doi_list, list)
341 if (iter->doi == doi && atomic_read(&iter->refcount)) 341 if (iter->doi == doi && refcount_read(&iter->refcount))
342 return iter; 342 return iter;
343 return NULL; 343 return NULL;
344} 344}
@@ -370,7 +370,7 @@ static int calipso_doi_add(struct calipso_doi *doi_def,
370 if (doi_def->doi == CALIPSO_DOI_UNKNOWN) 370 if (doi_def->doi == CALIPSO_DOI_UNKNOWN)
371 goto doi_add_return; 371 goto doi_add_return;
372 372
373 atomic_set(&doi_def->refcount, 1); 373 refcount_set(&doi_def->refcount, 1);
374 374
375 spin_lock(&calipso_doi_list_lock); 375 spin_lock(&calipso_doi_list_lock);
376 if (calipso_doi_search(doi_def->doi)) { 376 if (calipso_doi_search(doi_def->doi)) {
@@ -458,7 +458,7 @@ static int calipso_doi_remove(u32 doi, struct netlbl_audit *audit_info)
458 ret_val = -ENOENT; 458 ret_val = -ENOENT;
459 goto doi_remove_return; 459 goto doi_remove_return;
460 } 460 }
461 if (!atomic_dec_and_test(&doi_def->refcount)) { 461 if (!refcount_dec_and_test(&doi_def->refcount)) {
462 spin_unlock(&calipso_doi_list_lock); 462 spin_unlock(&calipso_doi_list_lock);
463 ret_val = -EBUSY; 463 ret_val = -EBUSY;
464 goto doi_remove_return; 464 goto doi_remove_return;
@@ -499,7 +499,7 @@ static struct calipso_doi *calipso_doi_getdef(u32 doi)
499 doi_def = calipso_doi_search(doi); 499 doi_def = calipso_doi_search(doi);
500 if (!doi_def) 500 if (!doi_def)
501 goto doi_getdef_return; 501 goto doi_getdef_return;
502 if (!atomic_inc_not_zero(&doi_def->refcount)) 502 if (!refcount_inc_not_zero(&doi_def->refcount))
503 doi_def = NULL; 503 doi_def = NULL;
504 504
505doi_getdef_return: 505doi_getdef_return:
@@ -520,7 +520,7 @@ static void calipso_doi_putdef(struct calipso_doi *doi_def)
520 if (!doi_def) 520 if (!doi_def)
521 return; 521 return;
522 522
523 if (!atomic_dec_and_test(&doi_def->refcount)) 523 if (!refcount_dec_and_test(&doi_def->refcount))
524 return; 524 return;
525 spin_lock(&calipso_doi_list_lock); 525 spin_lock(&calipso_doi_list_lock);
526 list_del_rcu(&doi_def->list); 526 list_del_rcu(&doi_def->list);
@@ -553,7 +553,7 @@ static int calipso_doi_walk(u32 *skip_cnt,
553 553
554 rcu_read_lock(); 554 rcu_read_lock();
555 list_for_each_entry_rcu(iter_doi, &calipso_doi_list, list) 555 list_for_each_entry_rcu(iter_doi, &calipso_doi_list, list)
556 if (atomic_read(&iter_doi->refcount) > 0) { 556 if (refcount_read(&iter_doi->refcount) > 0) {
557 if (doi_cnt++ < *skip_cnt) 557 if (doi_cnt++ < *skip_cnt)
558 continue; 558 continue;
559 ret_val = callback(iter_doi, cb_arg); 559 ret_val = callback(iter_doi, cb_arg);